git - Visual Studio Code 不会暂存 Git 合并更改
问题描述
在 Visual Studio Code 中使用 Git 作为源代码控制提供程序每当我尝试将冲突文件与保留当前版本的远程存储库合并时都会遇到问题。
步骤如下:
- 已在远程存储库上修改了一个文件,我在本地存储库上修改了相同的文件
- 当我尝试将更改推送到服务器时,我(正确)收到一条错误消息(无快进),我必须执行拉取以更新我的本地存储库
- 拉取时,编辑器警告我文件冲突,给我四个选项(接受当前更改,接受传入更改,接受两个更改,比较更改)
- 我接受当前更改(我的本地版本)并保存文件。当我尝试暂存更改时,该文件未添加到“暂存更改”部分,但它消失了。Git 保持在“合并”状态,我什么也做不了(推送给我与第一次推送相同的错误,拉给我一个错误,就像我没有解决冲突一样;实际上在 .git 文件夹中我还有 MERGE_HEAD 文件)
如果我接受传入的更改,接受两个更改或向我以前的版本添加其他字符(以更改我之前尝试提交的版本)一切正常。我认为当我选择“接受当前更改”并尝试暂存合并更改时,编辑器(或 Git?)不会将文件添加到暂存更改,因为它与之前提交的版本相同,并且不会更新 git状态,仍然陷入合并冲突。
合并时向以前的版本添加额外字符的解决方法可以正常工作,但我需要知道它是错误还是合并时缺少一些步骤。
请不要用命令行解决方法(如 git merge --abort)回复我,我正在寻找一个 UI 友好的解决方案(并非我的所有队友都对命令行有信心)。提前致谢。
解决方案
这是Visual Studio Code 中的一个错误,已在提交 578d7381da3e9d559e9326375b67429a5de3027d中修复,并于 2020 年 11 月随 VS Code 版本 1.52.0 一起发布。