1

我正在使用 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.txti.txt尚未解决。所以还没有提交任何东西。现在我想我犯了一些错误。我想回顾一下我到目前为止所做的事情。我想再看看e.txt,f.txtg.txt

我该怎么做?

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

为了简化情况,我以这个 txt 文件为例。但实际上我正在尝试合并 500 多个文件,而 100 多个文件存在冲突!

请建议。

4

1 回答 1

0

重启冲突解决确实是:

git checkout -m FILE

同样,如何恢复标记为已添加:、被我们删除:、被他们删除的文件的冲突解决

如此处所述

您可以使用 git checkout --conflict=merge -- file 获取带有冲突标记的文件内容,但是如果您已经使用 git add file 清理了索引(或者如果 GUI 为您这样做),它将不起作用。

git update-index --unresolve,但它很hacky,并且不能非常可靠地工作。
我认为它恢复的状态对于 git-mergetool 来说是不够的。

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

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

于 2018-09-09T15:26:46.100 回答