Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to undo "git add ." during a merge?

Tags:

git

$ git checkout to-branch
$ git merge from-branch
$ git status | grep unmerged
#  file1    unmerged
#  file2    unmerged
#  file3    unmerged
$ vi file1
$ git add .

Eek! I didn't mean to "git add ." I meant to "git add file1"!

Now I can't get behavior like:

$ git show :1:file2

I tried:

$ git reset file2

and

$ git checkout -m file2

but neither of those returns file2 to an "unmerged" state. git status does not show it as unmerged and I don't have access to "git show :1:file2", etc. I want to put the file back into the unmerged state.

How can I go back to the state I was in before "git add ." without losing my changes to file1?

like image 590
Thomas David Baker Avatar asked Jun 24 '10 12:06

Thomas David Baker


2 Answers

In case anyone's still having this problem (like I did just now), you can (now) do this:

git update-index --unresolve file2 file3
like image 81
Neil Avatar answered Oct 18 '22 19:10

Neil


(Not tested) Did you try

 git checkout -m /path/to/file2
 git checkout -m /path/to/file3

?

When checking out paths from the index, this option lets you recreate the conflicted merge in the specified paths

If this doesn't work, you might have some other answers in the SO question "How do I get my git merge conflicts back after merging incorrectly?"

like image 31
VonC Avatar answered Oct 18 '22 21:10

VonC