无法再使用 git merge 接受/拒绝单个更改,只能一次强调/拒绝所有更改



今天早些时候,当我试图将我的主分支合并到当前分支时(我错误地完成了一个我不想保留的更改,因此需要重新启动流程(,以及在以前的项目中进行合并时,我能够打开每个文件,单独查看每个更改,并逐一接受或拒绝它们。突然之间,这些选项消失了,我只能在源代码管理选项卡中同时接受或拒绝所有更改。奇怪的是,我仍然看到关于我的每一个差异的文本,没有任何点击接受/拒绝的选项:

<<<<<<< HEAD
...some changes here
=======
...old code here
>>>>>>> main

当然,由于<<<<<<< HEAD=======>>>>>>> main实际上并不是代码,所以在尝试合并的过程中,我会通过VS code自动添加它们来获得语法错误。我感到困惑的是,为什么它突然将这些添加视为我代码中的实际文本/添加,而不是我以前可以使用的临时合并UI(每次更改的正上方都有接受或拒绝按钮(。这些部分周围也没有更多的绿色或红色高亮显示合并差异。

我可以使用VS代码本身的源代码管理选项卡来管理合并,而不是在每个文件中正常地单独接受/拒绝它们,但似乎每个文件中唯一的选项是同时接受或拒绝所有更改,并且我无法单独验证每个更改。我尝试重新安装VS代码,并重新克隆了我的repo和分支。

有人知道是什么原因造成的吗,或者有什么方法可以解决吗?

编辑:我已核实该问题涉及";Code Lens";设置用户偏好,然而更改其值(或任何类似的值(似乎对没有任何作用

解决了问题。显然VS Code迫使其新的";Git:合并编辑器"默认情况下启用的设置。即使你有相应的";Code Lens";如果启用了设置,则它们将被覆盖;Git:合并编辑器"已启用。禁用它就成功了。

最新更新