我试图合并我的分支与另一个分支,有一个合并冲突。在Visual Studio Code (version 1.2.1)中,我解决了所有问题,但是当我尝试提交时,它一直给我这样的消息:
在提交更改之前,应该首先解析未合并的更改。
我试着谷歌它,但我不知道为什么它不让我提交我的更改,所有的冲突都消失了。
我试图合并我的分支与另一个分支,有一个合并冲突。在Visual Studio Code (version 1.2.1)中,我解决了所有问题,但是当我尝试提交时,它一直给我这样的消息:
在提交更改之前,应该首先解析未合并的更改。
我试着谷歌它,但我不知道为什么它不让我提交我的更改,所有的冲突都消失了。
当前回答
使用VSCode,你可以很容易地在下面的UI中找到合并冲突。
(如果没有顶部栏,请设置“编辑器”。codeLens":在User Preferences中为true)
它指示您拥有的当前更改和来自服务器的传入更改。这使得解决冲突变得很容易-只需按下<<<< HEAD上面的按钮。
如果您有多个更改,并希望一次性应用所有更改-打开命令面板(视图->命令面板)并开始输入合并-将出现多个选项,包括合并冲突:接受传入等。
其他回答
对于那些很难找到“合并按钮”的人。
带有合并选项的小灯泡图标只有在你精确地单击“合并冲突标记”时才会显示:
<<<<<<<
步骤(在VS Code 1.29.x):
如果有冲突:使用vs-code逐文件解决。在每个文件后单击vs-code中的“完成合并”按钮。 当没有文件时,执行命令:
git commit
(不要依赖vs-code的“提交”按钮,它会变灰,这是错误的。)
对于VS Code 1.38或者如果你找不到任何“灯泡”按钮。密切注意冲突上方的灰色文本;你可以采取一系列的行动。
点击左边的“源代码控制”按钮。 参见侧边栏中的合并更改。 这些文件存在合并冲突。
您得到的错误消息是Git仍然认为您没有解决合并冲突的结果。事实上,您已经做到了,但是您需要告诉Git您已经通过将解析文件添加到索引中来做到这一点。
这样做的副作用是,您实际上可以只添加文件而不解决冲突,而Git仍然认为您已经解决了冲突。所以你应该努力确保你真的解决了冲突。您甚至可以在提交之前运行构建并测试代码。