通过用最终内容覆盖冲突文件,手动解决git冲突

通过用最终内容覆盖冲突文件,手动解决git冲突,git,Git,到目前为止,我在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:

<<<<<<< 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编辑器解析文件。解决方案必须是什么样子?我如何通过终端继续合并?

请确保您可以使用合并标记覆盖文件和新文件的内容。之后只需执行git add和git commit

确保可以使用合并标记覆盖文件,并将新文件的内容包含在内。之后只需执行git add和git commit

在任意编辑器中编辑文件

如何设置所需的git编辑器? 一旦您使用了s,它将选择可以被视为独立更改的代码块。如果你想分割它,甚至更多,你将不得不使用e来编辑大块,然后将其添加回舞台区域


在任意编辑器中编辑文件

如何设置所需的git编辑器? 一旦您使用了s,它将选择可以被视为独立更改的代码块。如果你想分割它,甚至更多,你将不得不使用e来编辑大块,然后将其添加回舞台区域



有没有办法不用合并标记就可以合并?我这里有最终解决的文件,但没有合并标记。这个问题不是很清楚。您提交的版本中不应该有冲突标记。对不起,我的错。我读到使用合并标记覆盖文件您描述的命令在下一次提交时生成无效文件。它不是合并提交,而是常规提交。问题是关于解决合并上的冲突。@axiac,看起来问题已被编辑。最初的问题是该文件是否可以被覆盖。是否有任何方法可以在没有合并标记的情况下进行合并?我这里有最终解决的文件,但没有合并标记。这个问题不是很清楚。您提交的版本中不应该有冲突标记。对不起,我的错。我读到使用合并标记覆盖文件您描述的命令在下一次提交时生成无效文件。它不是合并提交,而是常规提交。问题是关于解决合并上的冲突。@axiac,看起来问题已被编辑。最初的问题是该文件是否可以被覆盖。当然可以,但是如果您在一次提交中执行冲突解决,而在另一次提交中执行任何其他更改,您将有一个更清晰的历史记录。合并不应该有新的工作。Git不关心文件中的内容。将问题中列出的部分替换为合并后要保留的行。它们可能是一个分支或另一个分支的线条,也可能是它们的组合,或者你想放在那里的任何东西。确定冲突行的外观后,保存文件并将其添加到索引git add foo.txt中。将其添加到索引意味着您已经解决了冲突。修复所有冲突,然后运行git merge-继续恢复合并操作。请阅读git文档中关于Side的说明:没有git编辑器:git没有内置编辑器,它使用您告诉它使用的任何编辑器。因此,所有编辑器都是非Git编辑器。通过识别Git在调用Git提交消息时使用的文件名模式,许多文件确实具有编辑Git提交消息的特殊模式,但它们仍然只是通用编辑器。当然,如果您在一个提交中执行冲突解决,而在另一个提交中执行任何其他更改,那么您将拥有更清晰的历史记录。合并不应该有新的工作。Git不关心文件中的内容。将问题中列出的部分替换为合并后要保留的行。它们可能是一个分支或另一个分支的线条,也可能是它们的组合,或者你想放在那里的任何东西。确定冲突行的外观后,保存文件并将其添加到索引git add foo.txt中。将其添加到索引意味着您已经解决了冲突。修复所有冲突,然后运行git merge-继续恢复合并操作。请阅读git文档中关于Side的说明:没有git编辑器:git没有内置编辑器,它使用您告诉它使用的任何编辑器。因此,所有编辑器都是非Git编辑器。通过识别Git在调用Git提交消息时使用的文件名模式,许多人确实有编辑Git提交消息的特殊模式,但它们仍然只是通用编辑器。
 # Set the default git editor
 git config --global core.editor <your editor>
y - stage this hunk
n - do not stage this hunk
q - quit, do not stage this hunk nor any of the remaining ones
a - stage this and all the remaining hunks in the file
d - do not stage this hunk nor any of the remaining hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help