【发布时间】:2020-01-03 18:18:03
【问题描述】:
我处于 git 中发生合并冲突的情况,到目前为止一切都很好。合并后,我的存储库中有一个文件 foo.txt:
<<<<<<< HEAD
line 1 from-foo-branch
line 2 in bar-branch
||||||| empty tree
=======
line 1 from-foo-branch
line 2 in bar-branch
sdfgsdfgsdfg
>>>>>>> dev_futurama
如果我使用非 git 编辑器打开冲突文件 foo.txt,这就是我所拥有的。我想用这个外部的非 git 编辑器解析文件。解决方案的外观如何,如何通过终端进行合并?
【问题讨论】:
-
当然,但是如果您在一次提交中解决冲突并在另一次提交中进行任何其他更改,您将拥有更清晰的历史记录。合并不应该真的有新的工作。
-
简单地说,a merge is just a commit like any other。 Git 不关心文件中的内容。
-
将问题中列出的部分替换为合并后要保留的行。它们可能是来自一个分支或来自另一个分支的线条,或者它们的组合,或者您想放在那里的任何东西。在确定冲突行的外观后,保存文件并将其添加到索引 (
git add foo.txt)。将其添加到索引意味着您已经解决了冲突。修复所有冲突,然后运行git merge --continue以恢复合并操作。 -
阅读关于merge conflicts的Git文档
-
旁注:没有“Git 编辑器”:Git 没有内置编辑器,它使用您告诉它使用的任何编辑器。所以所有的编辑器都是非 Git 编辑器。许多确实具有编辑 Git 提交消息的特殊模式(通过识别 Git 在调用它们时使用的文件名模式),但它们仍然只是通用编辑器。
标签: git