有没有办法做一个高性能的git重置 - 硬HEAD?

时间:2018-04-06 04:03:56

标签: git

我今天下午做了一个git pull。合并失败,一千个文件冲突。合并冲突后,我找不到一个有效的命令,在所有文件上选择“他们的”策略,我不想解决每个问题,所以我尝试中止合并。 git reset --mergegit merge --abortgit checkout master无效。没有合并头,另一个失败了。我试过git reset --hard HEAD,8小时后它只有50%。为什么会发生这种情况,以后如何避免这种情况?我有一个RAID SSD,我可以在15分钟内再次克隆回购。 如果有人知道其中一个可能的解决方案:

  1. 快速重置的命令。
  2. 合并失败后的命令会为git checkout --theirs .等所有文件选择“他们的”(此命令不起作用)
  3. 我相当彻底,并没有看到任何流行的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团队资源管理器的说法,合并仍然存在冲突,在我推动或承诺解决冲突之前需要进行合并。

1 个答案:

答案 0 :(得分:1)

第一个测试是在另一个文件夹中执行git clone,以获取一个新副本,并检查该操作是否需要数小时。

然后,您可以将当前工作树中的更改集成到新工作树中。

但如果问题仍然存在(并且不仅限于您),那么您需要安装 GVFS (Git Virtual File System) 才能保证快速响应时间处理大型回购时的任何Git操作。