# This will destroy any local modifications.
# Don't do it if you have uncommitted work you want to keep.
git reset --hard 0d1d7fc32
# Alternatively, if there's work to keep:
git stash
git reset --hard 0d1d7fc32
git stash pop
# This saves the modifications, then reapplies that patch after resetting.
# You could get merge conflicts, if you've modified things which were
# changed since the commit you reset to.
# syntax
git revert <commit>
# example
git revert 99a5c5905e12c74725bae64c61efce140662ce24
# where 99a5c59... is the commit (you can check it on github)
//git use a new commit to replace an old commit,commit moves foward not backward
git revert <commit hash>
//Git goes back one spot on the log,undone this commit and go backward one commit:
git reset HEAD~1
//Git looks for and rolls back to a certain file:
git checkout commit-hash-here -- file/location/and/name
git checkout 12feg3435 #commit ID
git reset --hard c14809fa
Lots of complicated and dangerous answers here, but it's actually easy:
git revert --no-commit 0766c053..HEAD
git commit
This will revert everything from the HEAD back to the commit hash, meaning it will recreate that commit state in the working tree as if every commit after 0766c053 had been walked back. You can then commit the current tree, and it will create a brand new commit essentially equivalent to the commit you "reverted" to.
(The --no-commit flag lets git revert all the commits at once- otherwise you'll be prompted for a message for each commit in the range, littering your history with unnecessary new commits.)
This is a safe and easy way to rollback to a previous state. No history is destroyed, so it can be used for commits that have already been made public.
# Revert is the command to rollback the commits.
git revert 2h3h23233
# push after change
git push
git reset --hard <commidId> && git clean -f