Git merge:在提交之前重新检查文件中的冲突解决方案

时间:2013-07-13 09:18:06

标签: git-merge

我正在使用git。我想将分支test中的文件合并到我的master。我做了git merge --no-ff test。现在git status显示

# On branch master
# Changes to be committed:
#
#   new file:   a.txt
#   modified:   b.txt
#   renamed:    c.txt
#   deleted:    d.txt
#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both added:         e.txt
#   both modified:      f.txt
#   both modified:      g.txt
#   deleted by us:      h.txt
#   deleted by them:    i.txt

现在我继续git mergetool。我使用meld作为我的合并工具。到目前为止一切都很好。我仅在e.txtf.txtg.txt上解决了冲突。文件h.txti.txt尚未解决。所以还没有提交任何东西。现在我以为自己犯了一些错误。我想重新审视到目前为止我所做的事情。我想重新审核e.txtf.txtg.txt

我该怎么做?

我试图重新运行git mergetool。但它没有显示e.txtf.txtg.txt。它以h.txti.txt开头。 : - (

为了简化这种情况,我以这个txt文件为例。但实际上我试图合并超过500个文件,超过100个是冲突!

请建议。

1 个答案:

答案 0 :(得分:0)

重启the conflict resolution确实是:

git checkout -m FILE
  

类似地,如何还原标记为以下两个文件的冲突解决方法:添加,被我们删除,被它们删除

mentioned here

您可以使用git checkout --conflict = merge-file来获取带有冲突标记的文件内容,但是如果您已经使用git add file清理了索引(或者如果GUI为您完成了此操作),它将无法正常工作

  

git update-index --unresolve ,但是它很容易破解,不能很可靠地工作。
  我认为它恢复的状态对于git-mergetool是不够的。

(那是2010年:到2018年可能会更好)

  

您可能必须重做合并,或使用git update-index --cacheinfo手动设置阶段版本。