tags:

views:

86

answers:

1

Hi, I did a 'git commit' but I have not pushed to others. so when i do 'git status', I get '# Your branch is ahead of 'master' by 1 commit.'

So if I want to roll back my top commit, can I just do"

git reset --hard eb27bf26dd18c5a34e0e82b929e0d74cfcaab316

given that when i do 'git log'

commit eb27bf26dd18c5a34e0e82b929e0d74cfcaab316
Date:   Tue Sep 29 11:21:41 2009 -0700


commit db0c078d5286b837532ff5e276dcf91885df2296
Date:   Tue Sep 22 10:31:37 2009 -0700
+6  A: 

Actually, when you use git reset, you should refer to the commit that you are resetting to; so you would want the db0c078 commit, probably.

An easier version would be git reset --hard HEAD^, to reset to the previous commit before the current head; that way you don't have to be copying around commit IDs.

Beware when you do any git reset --hard, as you can lose any uncommitted changes you have. You might want to check git status to make sure your working copy is clean, or that you do want to blow away any changes that are there.

Brian Campbell
Or `git reset --hard origin/master`, to reset it to whatever the origin was at.
bdonlan
Yes, that's also a useful one.
Brian Campbell
Another useful pointer you can reset to is ORIG\_HEAD or its generalization utilizing reflog HEAD@{1} (the last position of HEAD).
Jakub Narębski