---- [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
# Revert is the command to rollback the commits.
git revert 2h3h23233
# push after change
git push
git checkout <commit-id> .
git add .
git commit -m "Reverting to <commit-id>"
git push
# 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
$ git checkout <commit-id> .
git reset --hard <commidId> && git clean -f
git commit --amend #will add the changes to the prev commit