我今天下午做了一个git pull。合并失败,一千个文件冲突。合并冲突后,我找不到一个有效的命令,在所有文件上选择“他们的”策略,我不想解决每个问题,所以我尝试中止合并。 git reset --merge
,git merge --abort
和git checkout master
无效。没有合并头,另一个失败了。我试过git reset --hard HEAD
,8小时后它只有50%。为什么会发生这种情况,以后如何避免这种情况?我有一个RAID SSD,我可以在15分钟内再次克隆回购。
如果有人知道其中一个可能的解决方案:
git checkout --theirs .
等所有文件选择“他们的”(此命令不起作用)我相当彻底,并没有看到任何流行的git问题中的大型合并冲突的解决方案。
以下是错误:
C:\Users\sticker592\source\repos\netDocs\docs-1>git reset --merge
error: Untracked working tree file '.gitattributes' would be overwritten by merge.
fatal: Could not reset index file to revision 'HEAD'.
C:\Users\sticker592\source\repos\netDocs\docs-1>git merge --abort
fatal: There is no merge to abort (MERGE_HEAD missing).
C:\Users\sticker592\source\repos\netDocs\docs-1>git merge --strategy-option theirs
Already up-to-date.
C:\Users\sticker592\source\repos\netDocs\docs-1>git merge master --strategy-option theirs
Already up-to-date.
C:\Users\sticker592\source\repos\netDocs\docs-1>git checkout --theirs
fatal: '--ours/--theirs' cannot be used with switching branches
C:\Users\sticker592\source\repos\netDocs\docs-1>git merge -X theirs master
Already up-to-date.
C:\Users\sticker592\source\repos\netDocs\docs-1>git status
On branch master
Your branch is up-to-date with 'origin/master'.
根据VS团队资源管理器的说法,合并仍然存在冲突,在我推动或承诺解决冲突之前需要进行合并。
答案 0 :(得分:1)
第一个测试是在另一个文件夹中执行git clone,以获取一个新副本,并检查该操作是否需要数小时。
然后,您可以将当前工作树中的更改集成到新工作树中。
但如果问题仍然存在(并且不仅限于您),那么您需要安装 GVFS (Git Virtual File System) 才能保证快速响应时间处理大型回购时的任何Git操作。