git 停留在“正在进行合并操作”

fsi0uk1n  于 2022-11-20  发布在  Git
关注(0)|答案(7)|浏览(1578)

步骤

  • 在Visual Studio中
  • 从远程存储库中提取
  • 1个合并冲突
  • 手动合并,单击“接受合并”

结果

  • 消息:“正在...存储库中进行合并操作。提交您的更改以完成合并操作。”
  • 但是,没有要提交的内容:有0个挂起的更改,除了“中止”之外似乎没有其他操作。

截图:https://pbs.twimg.com/media/DBOeRIiXsAEbnLP.jpg

上下文

  • 远程git存储库承载在Visual Studio Team Services中
  • 包含所有更新的Visual Studio 2017
hgc7kmma

hgc7kmma1#

我在Visual Studio 2017中的一个项目中遇到了非常类似的问题,它给了我同样的TFS消息。我也使用了git。在我的案例中,我需要在发布合并之前手动添加一个注解到提交中。由于我必须手动合并冲突,所以需要一个注解,而不是在没有冲突的合并中自动填充的消息。
我很清楚提交需要注解,但如果我没记错的话,VS 2015会自动填充合并的注解,即使您手动修复了任何合并问题。无论如何,在VS 2017中,当存在已解决的冲突时,您将需要添加一个提交注解。

z8dt9xmd

z8dt9xmd2#

在Visual Studio中从远程Git存储库执行拉取操作期间发生冲突时,您需要执行手动合并以选择远程或本地版本。单击“接受合并”后,您需要提交此合并操作。您将看到如下图所示的操作。

如果您没有看到这个 windows ,您也可以从暂止变更 windows 认可。您可以看到在变更索引标签下没有任何内容。这是因为您在合并时选择了本机版本。当然,在变更下没有显示任何档案变更。但是您仍然需要认可合并作业。

hk8txs48

hk8txs483#

如果你已经安装了Git for Windows(gitk),你可以打开一个命令窗口,导航到你的repo的本地目录并启动它,然后在File菜单中选择“Start git gui”。此时,你会看到你要提交的合并,你可以在那里进行。然后,无论是从gitk还是返回到Visual Studio,你现在都可以把所有的提交推回到原始位置。

brccelvz

brccelvz4#

我也遇到了同样的问题。用以下代码修复了它:

git reset --hard HEAD // **WARNING**: this will remove your current work, so better stash/backup it

注意:您可以通过以下方式检查上次提交ID:

git rev-parse HEAD // will display the last commit ID

git reset --hard <last_commit_ID>

git reset --soft <last_commit_ID> // this will only move the pointer
b91juud3

b91juud35#

我使用了一个外部工具,如Fork来中止合并。内部VS似乎没有工作。

lyfkaqu1

lyfkaqu16#

我手动删除了
index.lock
.git文件夹中的一个文件,它为我解决了这个问题。

lnvxswe2

lnvxswe27#

在我的例子中,VS一直显示“ApplyMailboxInProgress”
原因是我从命令行运行了一些错误的命令。我不得不中止它的运行

git am --abort

相关问题