
Unlike other "undo" commands like Git checkout and Git reset, which move the branch and HEAD ref pointers to a specific commit, Git revert inverses the changes in a particular commit, creating a new "revert commit." Then, it updates the ref pointers to point at this new revert commit and makes it the branch tip.īear in mind, Git revert doesn’t undo a commit in a project history it reverses the changes done in the offending commit and appends a new commit with the opposite effect. Rather than going in manually, fixing the bug, and committing a new snapshot, Git revert will automatically do all the work for you. The ability to Git revert a previous commit comes in handy when you’re tracking down a bug and discover that it was introduced via a single commit. This process stops Git from losing history, which is vital for the revision history’s integrity and promoting smooth, reliable collaboration.
#GIT UNDO LAST PUSH HOW TO#
Rather than removing the commit in question from the project history, the Git revert figures out how to invert (or reverse) the changes created by the commit, then appends a new commit containing the new inversed content. Or if a previous commit added a line of code to a Python file, a Git revert done on that previous commit will remove the offending line. For instance, if a commit added a file called wombat.html to the repository, the Git revert can remove that file. Git revert removes all the changes that a single commit made to the source code repository. Git revert is a safe, forward-moving alternative to Git reset when faced with the possibility of losing work. The Git revert commit command is an "undo" operation that provides users with a careful, less intrusive way to undo changes. Before we answer the question "How do you revert Git commit?" we need to explain the command.
