所以我有一个开发分支和主题分支。我使用Windows的VS代码中的默认终端。在主题分支中,我使用了git merge develop
,因为我刚刚获得了开发分支的最新信息。现在在一个文件中有一个简单的合并冲突。在VS Code中,我解决了这个冲突。在代码页上,没有更多的冲突,你可以Accept Incoming
或Accept Current
,但当我试图在左侧的源代码控制面板上暂存文件时,它显示一个警告弹出窗口,说Are you sure you want to stage with merge conflicts?
这正常吗?看起来VS Code并不认为我解决了冲突,即使我已经解决了,文件中也没有更多的冲突。还是我在Git/VS代码方面缺少了什么?
4条答案
按热度按时间piah890a1#
这是正常的行为。通常情况下,我们会得到合并冲突时,我们有变化,在同一行的源文件和目标文件的合并。
在你的例子中,你已经解决了你的文件中的冲突(我的意思是vs代码),但它没有更新到git。因此,在添加 *
Accept Incoming
* 或 *Accept Current
* 之后,您必须执行以下步骤,<conflicts resolved files>
merge conflict resolved message
“toe950272#
在VSCode中,当你在多个文件中有冲突时,它们会显示在git面板中,你可以逐个打开文件并解决它们。
当您解决文件中的冲突时,您应该保存该文件,然后单击该文件的
+
按钮(如下图所示)。这将导致暂存文件。如果您单击此按钮,并且该文件中存在未解决的冲突,则会收到以下消息:
您确定要转移合并冲突吗?
现在,如果您解决了所有文件的冲突,并单击所有文件上方的
+
按钮(以暂存所有存在冲突的文件)(如下图所示),它仍然会给您给予相同的消息(尽管您已经解决了所有冲突)。因此,我建议您分别单击每个文件的
+
,以便确保在暂存文件之前解决了所有冲突。注意事项
我相信这个bug在最近的VSCode版本中得到了修复。
c7rzv4ha3#
在我的情况下,我意识到我有 * 自动保存**关闭。我知道这太傻了但值得一查。
6yjfywim4#
您可以在Android Studio中查看Confilig类。它不会出现在Github桌面上,但会出现在这里。从这里解出来后可以合并。其他想法也是如此。