From: Howard Miller Date: Fri, 04 Sep 2009 18:01:06 GMT Subject: Re: Commit to wrong branch. How to fix? Message-ID: <26ae428a0909041101h509ffa31odf3502228517043a@mail.gmail.com> In-Reply-To: <4AA13DF4.4050604@drmicha.warpmail.net> Hi Michael, Thanks for your help. I had modified a few files and then done a 'git commit -a'. It was only after this that I did a status and realised that I had switched to a different branch (and forgotten). Unfortunately the branch I switched to tracks a remote that is my stable release so I'm a bit precious about it. If I forget again and push it, I'm in trouble :-) Yes, I have done that before!! Howard 2009/9/4 Michael J Gruber : > Howard Miller venit, vidit, dixit 04.09.2009 17:54: >> I commited to the wrong branch and I can't figure out what to do. To >> make matters worse I then did 'git reset HEAD^' which has made things >> much worse. It didn't remove the commit and now I can't change >> branches. I'm utterly confused. Any help much appreciated! >> >> Moral - use git status liberally and read it carefully before doing >> anything. A 'git undo" command would be great is someone is feeling >> generous :-) > > Whatever happens, don't panic ;) > > Let's say "geesh" is the branch on which you committed by mistake, and > which you have reset. > > git reflog geesh > > which show you what has happened to that branch lately. In particular, > it will list the "lost" commit. (Most probably it is the same as geesh@{1}.) > > git tag sigh sha1ofthatcommit > > will assign the tag "sigh", so that it won't get lost by doing "git gc" > or such. Now you can lean back! > > Next step is committing "sigh" to the right branch. Depends on how you > arrived at that commit. Did you commit the complete tree you wanted, or > did you apply a change to geesh which you rather had wanted applied to > some other branch? > > Michael >