如何撤消“git add”。在合并期间?

时间:2010-06-24 12:51:12

标签: git

$ 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的更改?

2 个答案:

答案 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