# as the best wat to revert back 3 commits
git revert HEAD~3
git restore #to restore files from commit
---- [Temporarily switch to a different commit] ----
# If you want to temporarily go back to a particular commit, fool around,
# then come back to where you are
> git checkout 0d1d7fc32
# Or if you want to make commits while you're there,
# go ahead and make a new branch while you're at it:
> git checkout -b old-state 0d1d7fc32
---- [Hard delete unpublished commits] ----
# If, on the other hand, you want to really get rid of everything you've done
# since then, there are two possibilities.
# One, if you haven't published any of these commits, simply reset:
# 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.
git checkout 12feg3435 #commit ID
#You need to be careful with going back a commit, you could reset your
#branch and loose all of your work.
#safe option:
git checkout <commit-id>
# Go back to the selected commit on your local environment
# Don't forget the . in the end
git checkout <commit-id> .
# Add this version to the staging area and push to remote
git add .
git commit -m "Reverting to <commit-id>"
git push