Visual Studio Code如何解决与git的合并冲突?


106

我试图将我的分支与另一个分支合并,但发生了合并冲突。在Visual Studio Code(1.2.1版)中,我解决了所有问题,但是当我尝试提交时,它始终显示以下消息:

在提交更改之前,您应该首先解决未合并的更改。

我已经尝试过使用Google搜索,但是我不知道为什么它不允许我进行更改,所有冲突都消失了。


1
尽管您说的是正确的,但不能解决问题中的问题。我明确指出,我已经解决了该问题中的所有合并冲突。
annedroiid

Answers:


109

使用VSCode,您可以使用以下UI轻松找到合并冲突。 在此处输入图片说明

(如果没有顶部栏,请"editor.codeLens": true在“用户偏好设置” 中进行设置)

它指示您当前拥有的更改以及来自服务器的传入更改。这样可以轻松解决冲突-只需按上面的按钮<<<< HEAD

如果您有多个更改并想一次应用所有更改-打开命令面板(查看->命令面板)并开始键入合并-将会出现多个选项,包括Merge Conflict: Accept Incoming等。


1
您是否获得了最新更新!我将在每一行中显示
Sajeetharan


1
如何获得这些合并,解决Visual Studio代码中的冲突选项。
user630209 '18

1
如何启用该快捷方式?我在冲突文件中看不到该选项。
user630209'4-4-12

1
@RyeGuy这些选项通过CodeLens显示,因此您可以启用CodeLens(请参阅code.visualstudio.com/Docs/editor/…)。
GeriBorbás18年

71

经过反复试验,我发现您需要暂存具有合并冲突的文件,然后才能提交合并。


1
是,对的。任何提交,无论是合并冲突还是您要推送的本地提交,都必须先上演,然后才能推送该提交。
surendrapanday

1
对于那些git add .不确定是否暂存所有文件的人,请检查您是否在项目的根目录中。花了我一些时间来解决这个问题。然后git add .git merge --continue
整理

解决合并冲突之后,必须先保存冲突的文件,然后再分阶段合并的更改。
nclark

22

对于那些很难找到“合并按钮”的人。

仅当您精确单击“合并冲突标记”时,才会显示带有合并选项的小灯泡图标

<<<<<<<

步骤(在VS代码1.29.x中):


19
  1. 单击左侧的“源代码管理”按钮。
  2. 请参阅边栏中的合并更改。
  3. 这些文件具有合并冲突。

VS代码>源代码管理>合并更改(示例)


1
我曾经有“接受当前更改|接受传入的更改...”选项,但是现在这些选项刚刚从行中消失了,您知道如何再次显示此选项吗?
jet_choong

15

您收到的错误消息是Git仍然认为尚未解决合并冲突的结果。实际上,您已经拥有了,但是您需要告诉Git您已经通过以下方式完成了此操作已解析的文件添加到索引中。

这样做的副作用是,您实际上可以仅添加文件而不必解决冲突,而Git仍然认为您已经拥有了。因此,您应该努力确保自己已经真正解决了冲突。在提交之前,您甚至可以运行构建并测试代码。


3

对于VS Code 1.38或找不到任何“灯泡”按钮。密切注意冲突上方的灰色文字;您可以执行一系列操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.