解决了 VS Code 中的 git 合并冲突,但仍然显示未解决

问题描述 投票:0回答:4

所以我有一个开发分支和主题分支。我在 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 方面缺少什么?

git merge visual-studio-code merge-conflict-resolution
4个回答
16
投票

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

就您而言,您已经解决了文件中的冲突(我的意思是 vs 代码),但它没有更新到 git。因此,添加

Accept Incoming
Accept Current
后,您必须执行以下步骤,

  1. git添加
    <conflicts resolved files>
  2. git commit -m“
    merge conflict resolved message
  3. git 推送

11
投票

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

解决文件中的冲突后,应保存该文件,然后单击该文件的

+
按钮(如下图所示)。

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

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

现在,如果您解决了所有文件的冲突并单击所有文件上方的

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

因此,我建议您单独单击每个文件的

+
,以便确保在暂存文件之前解决了所有冲突。

注意

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


7
投票

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


0
投票

您可以在 Android Studio 中看到 Config 类。它不会出现在 Github 桌面上,但会出现在这里。您可以从这里解决后合并它。其他想法也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.