【问题标题】:How can I return to a half-merged file in PyCharm and continue merging?如何返回 PyCharm 中的半合并文件并继续合并?
【发布时间】:2020-06-30 04:00:27
【问题描述】:

我在 PyCharm 的 diff 工具中修复了一半的合并冲突,然后决定在纯文本文件中修复其中的一些冲突,因为它是全宽的。所以我点击了“应用”,现在我有一个带有<<<<<<HEAD 的文件,它没有出现在“解决冲突”窗口中。

如何完成合并?我查看了https://stackoverflow.com/a/47712453/733092 以尝试从命令行继续合并,但我不知道要为pycharm merge <left file> <right file> [<base file>] <output file> 输入什么。

我目前的计划是按原样复制文件的文本,中止合并,重新启动,然后将其粘贴到新的合并窗口中。但是我必须忽略我已经修复的所有更改。

我也想知道这一点,因为人们签入了半合并的文件,我希望能够继续这些合并。

【问题讨论】:

  • 所以我点击了“应用”——这是错误的:它“接受”了合并。您可以关闭窗口。

标签: git merge pycharm


【解决方案1】:

您可以在命令行中检查状态,以查看 pyCharm 中的“应用”是否完全终止了合并。

如果git status 是干净的,那么您只需打开带有冲突合并标记的文件,修改它(只保留我们的或他们的),删除<<<</>>>> 标记,添加并提交。

关于 PyCharm,你 could set it up as the default merge tool

[merge]
    tool = pycharm
    keepBackup = false
[mergetool "pycharm"]
    cmd = /usr/local/bin/pycharm merge "$LOCAL" "$REMOTE" "$BASE" "$MERGED"

那么你需要做的就是:

git mergetool -- yourFile_with_conflict_markers_in_it

【讨论】:

  • git status 有其他未合并的文件,但没有这个。
  • 问题的重点是避免手工编辑,回到视觉合并。我一直无法阅读<<<<
  • @Noumenon 我了解,但这些标记处理起来并不复杂:stackoverflow.com/a/7901901/6309, stackoverflow.com/a/16389292/6309
  • 如果这就是答案,那就是答案。我正在学习这项技能。但是,如果您没有将它们与线条的哪一部分实际发生变化的高光并排放置,那就更难了。
  • @Noumenon 我完全同意。我不知道 PyCharm 是否可以以 diffmerge 方式打开该文件,但您还有其他可以充当合并工具的 GUI 工具:stackoverflow.com/q/137102/6309。您可以使用git mergetool --tool=aTool -- aFile 命令使用一个来打开那个文件。
猜你喜欢
  • 2011-04-25
  • 2023-03-14
  • 2014-12-18
  • 2017-12-17
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多