How to rollback the two previous commits?
Consider this scenario:
- Developer A does a commit: #n
- Dev. B does commit #n+1
- Dev. A does commit #n+2
- and commit #n+3
and then discovers that in his commit #n+2 he introduced a defect.
How can dev. A rollback his last 2 commits and continue developing on commit #n+1?
Tried git reset --hard HEAD~2
*, but it's c开发者_运维问答oming back to dev A's commit #n.
It should come back to the n+1 commit. You probably have a merge commit in there as well. You can also do a git reset --hard <sha1_of_where_you_want_to_be>
WARNING!!
--hard
means that any uncommitted changes you currently have will be thrown away permanently.
I would suggest using instead something like this:
git reset --soft <commit_hash>
Unless you want it to remove all the changes up to that point, in that case use --hard instead of --soft, it would get you to the desired point in the tree WITHOUT trowing away all of the changes made in the commits.
While I was reading I tried with --HARD and for my misfortune, it removed all my changes up to that point. So, pay attention to whether you want them removed or not.
so, if you are unlucky as me try this! : git revert <commit_hash>
精彩评论