I am using GitHub as my remote repository.
I have already pushed 5 commits to the server and want to revert back to the state before the those commits.
If the commit hash is 3425661dba2aadccdbab
, how do I revert the entire local/remote back to that commit? I tried
$ reset --hard 3425661dba2aadccdbab
but that only resetted my working head to that branch and requires me to do a git pull
again. I tried checkout, but this caused me to land in a "detached head" branch.
Git Undoing Return to a previous commit Any changes can be made into a proper branch using either branch or checkout -b . Beware: While you can recover the discarded commits using reflog and reset , uncommitted changes cannot be recovered. Use git stash; git reset instead of git reset --hard to be safe.
You basically have two options to revert changes:
The first option can be achieved by using git revert
git-revert - Revert some existing commits
Given one or more existing commits, revert the changes that the related patches introduce, and record some new commits that record them.
An example would be git revert -n HEAD~5..HEAD
. This command creates 5 new commits, each of which undoes one of the last 5 commits of the currently checked out branch.
The second option would be to actually remove the commits. Note that this changes history in the repository. So anyone who has already pull the changes will probably be rather surprised and things can get messy quickly. That said, you can do
git reset --hard HEAD~5 git push --force
The first command will wipe any uncommitted changes in your current working copy. and reset your local repository to the state of the current HEAD - 5 commits. The second command will force-push to the default remote (i.e. GitHub) There, any changes diverging from your current local repository are overwritten.
A note of warning again: If you don't really know what you are doing, don't use this option as it can lead to data loss for you or others if not done right. Use the first option instead as it will transparently remove changes but without the nasty side-effects of history-rewriting.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With