$ git checkout to-branch
$ git merge from-branch
$ git status | grep unmerged
# file1 unmerged
# file2 unmerged
# file3 unmerged
$ vi file1
$ git add .
伊克!我不是故意“git add”。我的意思是“git add file1”!
现在我无法获得如下行为:
$ git show :1:file2
我试过了:
$ git reset file2
和
$ git checkout -m file2
但这些都没有将file2返回到“未合并”状态。 git status没有显示为未合并,我无法访问“git show:1:file2”等。我想将文件重新置于未合并状态。
如何在“git add”之前回到我所处的状态。而不会丢失对file1的更改?
答案 0 :(得分:13)
(未经测试)您是否尝试过
git checkout -m /path/to/file2
git checkout -m /path/to/file3
从签名中检出路径时,此选项允许您在指定路径中重新创建冲突的合并
如果这不起作用,您可能会在SO问题“How do I get my git merge conflicts back after merging incorrectly?”中找到其他答案。
答案 1 :(得分:3)
如果有人仍然遇到这个问题(就像我刚才那样),你可以(现在)这样做:
git update-index --unresolve file2 file3