Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git undo merge attempt

I have working directory (#1) which has vendor directory(#2) in it. There is one dependency which I wanted to pull manually without composer (php version of npm/gem). I was working in #1, haven't saved/commited changes, when I decided I want to update library in #2. I navigated to vendor/myname, and did git pull repository.

Unfortunately it started to pull and merge to #1, instead of creating new directory in vendor folder.

Now I have:

  • #1 folder with my changes
  • #1 folder with files I don't want from wrong repository
  • #1 merge conflicts such as composer.json, Readme.md... (general files)

I want to "undo" this last git pull without loosing any changes I did to folder #1. How can I do this?

like image 597
ewooycom Avatar asked Sep 09 '13 07:09

ewooycom


2 Answers

git merge --abort might be what you're looking for.

like image 113
aragaer Avatar answered Sep 23 '22 19:09

aragaer


Modern Git:

git merge --abort 

Older:

git reset --merge 

Old-school (warning: will discard all your local changes):

git reset --hard 

But actually, it is worth noticing that git merge --abort is only equivalent to git reset --merge given that MERGE_HEAD is present. This can be read in the git help for merge command.

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present. 

After a failed merge, when there is no MERGE_HEAD, the failed merge can be undone with git reset --merge but not necessarily with git merge --abort, so they are not only old and new syntax for the same thing. Personally I find git reset --merge much more useful in everyday work.

like image 27
Martin G Avatar answered Sep 21 '22 19:09

Martin G