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

e0bqpujr  于 2023-10-14  发布在  Git
关注(0)|答案(4)|浏览(262)

所以我有一个开发分支和主题分支。我使用Windows的VS代码中的默认终端。在主题分支中,我使用了git merge develop,因为我刚刚获得了开发分支的最新信息。现在在一个文件中有一个简单的合并冲突。在VS Code中,我解决了这个冲突。在代码页上,没有更多的冲突,你可以Accept IncomingAccept Current,但当我试图在左侧的源代码控制面板上暂存文件时,它显示一个警告弹出窗口,说Are you sure you want to stage with merge conflicts?
这正常吗?看起来VS Code并不认为我解决了冲突,即使我已经解决了,文件中也没有更多的冲突。还是我在Git/VS代码方面缺少了什么?

piah890a

piah890a1#

这是正常的行为。通常情况下,我们会得到合并冲突时,我们有变化,在同一行的源文件和目标文件的合并。
在你的例子中,你已经解决了你的文件中的冲突(我的意思是vs代码),但它没有更新到git。因此,在添加 * Accept Incoming * 或 * Accept Current * 之后,您必须执行以下步骤,

  1. git add <conflicts resolved files>
  2. git commit -m“merge conflict resolved message
  3. git push
toe95027

toe950272#

在VSCode中,当你在多个文件中有冲突时,它们会显示在git面板中,你可以逐个打开文件并解决它们。
当您解决文件中的冲突时,您应该保存该文件,然后单击该文件的+按钮(如下图所示)。

这将导致暂存文件。如果您单击此按钮,并且该文件中存在未解决的冲突,则会收到以下消息:
您确定要转移合并冲突吗?
现在,如果您解决了所有文件的冲突,并单击所有文件上方的+按钮(以暂存所有存在冲突的文件)(如下图所示),它仍然会给您给予相同的消息(尽管您已经解决了所有冲突)。

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

注意事项

我相信这个bug在最近的VSCode版本中得到了修复。

c7rzv4ha

c7rzv4ha3#

在我的情况下,我意识到我有 * 自动保存**关闭。我知道这太傻了但值得一查。

6yjfywim

6yjfywim4#

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

相关问题