我正在使用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.txt
,f.txt
和g.txt
上解决了冲突。文件h.txt
和i.txt
尚未解决。所以还没有提交任何东西。现在我以为自己犯了一些错误。我想重新审视到目前为止我所做的事情。我想重新审核e.txt
,f.txt
和g.txt
。
我该怎么做?
我试图重新运行git mergetool
。但它没有显示e.txt
,f.txt
和g.txt
。它以h.txt
和i.txt
开头。 : - (
为了简化这种情况,我以这个txt文件为例。但实际上我试图合并超过500个文件,超过100个是冲突!
请建议。
答案 0 :(得分:0)
重启the conflict resolution确实是:
git checkout -m FILE
类似地,如何还原标记为以下两个文件的冲突解决方法:添加,被我们删除,被它们删除
您可以使用git checkout --conflict = merge-file来获取带有冲突标记的文件内容,但是如果您已经使用git add file清理了索引(或者如果GUI为您完成了此操作),它将无法正常工作
有
git update-index --unresolve
,但是它很容易破解,不能很可靠地工作。
我认为它恢复的状态对于git-mergetool是不够的。
(那是2010年:到2018年可能会更好)
您可能必须重做合并,或使用
git update-index --cacheinfo
手动设置阶段版本。