Visual Studio Code 不会暂存 Git 合并更改

Mat*_*ino 7 git git-merge git-merge-conflict visual-studio-code

在 Visual Studio Code 中使用 Git 作为源代码控制提供程序时,每当我尝试将冲突文件与保留当前版本的远程存储库合并时,都会遇到问题。

步骤如下:

  • 远程存储库上的文件已被修改,我在本地存储库上修改了相同的文件
  • 当我尝试将更改推送到服务器时,我(正确地)收到一条错误消息(无快进),我必须执行拉取以更新我的本地存储库
  • 拉动时,编辑器警告我文件上的冲突,给我四个选项(接受当前更改、接受传入更改、接受两个更改、比较更改)
  • 我接受当前更改(我的本地版本)并保存文件。当我尝试暂存更改时,该文件不会添加到 STAGED CHANGES 部分,但它会消失。Git 仍处于“合并”状态,我什么也做不了(推给我与第一次推相同的错误,拉给我一个错误,就像我没有解决冲突一样;实际上在 .git 文件夹中我还有 MERGE_HEAD 文件)

如果我接受传入的更改,接受两个更改或向我以前的版本添加其他字符(以更改我之前尝试提交的版本),则一切正常。我认为当我选择“接受当前更改”并尝试暂存合并更改时,编辑器(或 Git?)不会将文件添加到 STAGED CHANGES 中,因为它与之前提交的版本相同,并且不会更新 git状态,仍然停留在合并冲突中。

合并时向以前的版本添加额外字符的解决方法工作正常,但我需要知道这是一个错误还是我在合并时遗漏了一些步骤。

请不要用命令行解决方法回复我(如 git merge --abort),我正在寻找一个 UI 友好的解决方案(并非我的所有队友都对命令行有信心)。提前致谢。

kni*_*ttl 1

这是Visual Studio Code 中的一个错误,已在提交 578d7381da3e9d559e9326375b67429a5de3027d中修复,并于 2020 年 11 月随 VS Code 版本 1.52.0 一起发布。