已解决的VS代码中的git合并冲突,但仍然表示尚未解决

mid*_*oir 12 git merge merge-conflict-resolution visual-studio-code

所以我有一个开发分支和主题分支.我正在使用Window的VS Code中的默认终端.在主题分支中,我做了,git merge develop因为我刚刚开发了分支.现在在一个文件中存在简单的合并冲突.在VS Code中,我解决了冲突.在代码页上,没有更多的冲突可以Accept Incoming或者Accept Current,但是当我尝试在左侧的"源代码管理"面板上暂存文件时,它会显示一个警告弹出窗口Are you sure you want to stage with merge conflicts?

这是正常的吗?看起来VS Code并不认为我解决了冲突,即使我刚刚做了,并且文件中没有冲突.或者有什么我缺少Git/VS Code-wise?

sar*_* va 9

这是一种正常的行为。通常,当我们在合并的源文件和目标文件的同一行中发生更改时,我们会遇到合并冲突。

在您的情况下,您已经解决了文件中的冲突(我的意思是 vs 代码),但它没有更新为 git。所以添加后Accept Incoming或者Accept Current你必须做以下步骤,

  1. 添加 <conflicts resolved files>
  2. git commit -m " merge conflict resolved message"


小智 7

就我而言,我意识到我关闭了自动保存。我知道,这太愚蠢了。但值得检查。


Vah*_*hid 6

在 VSCode 中,当您在多个文件中出现冲突时,它们会显示在 git 面板中,您可以一一打开文件并解决它们。

当您解决文件中的冲突时,您应该保存该文件,然后单击该文件的+按钮(如下图所示)。

阶段解析文件

这将导致暂存文件。如果您单击此按钮并且该文件中存在未解决的冲突,您将收到以下消息:

您确定要暂存合并冲突吗?

现在,如果您解决所有文件的冲突并单击+所有文件上方的按钮(以暂存所有有冲突的文件)(如下图所示),它仍然会给您相同的消息(尽管您已经解决了所有冲突)。

暂存所有文件

因此,我建议您+单独单击每个文件的 ,以确保在暂存文件之前解决了所有冲突。

笔记

我相信这个错误在 VSCode 的最新版本中得到了修复。