How to revert merge commit


It’s important to note that reverting a merge commit can be a complex operation, especially if the merge commit has multiple parents. In some cases, you may need to manually resolve conflicts during the revert process. It’s always a good idea to test the revert on a separate branch before applying it to your main branch to avoid any unexpected consequences.

To revert a merge commit in Git, you can use the git revert command with the commit hash of the merge commit. Here’s an example:

  • Find the hash of the merge commit you want to revert by using the command git log.
  • Run the command git revert <merge-commit-hash>, where <merge-commit-hash> is the hash of the merge commit you want to revert.
  • Git will open a text editor where you can enter a commit message for the revert. Save and close the file.
  • Git will create a new commit that undoes the changes made by the merge commit.
  • Use git log again to confirm that the revert commit has been created.

Here’s an example of how to revert a merge commit that has conflicts:

  • Find the hash of the merge commit you want to revert by using the command git log.
  • Run the command git revert -m 1 <merge-commit-hash>, where -m 1 specifies that you want to revert to the first parent of the merge commit. If the merge commit had multiple parents, you can specify which parent to revert to using -m <parent-number>.
  • Git will open a text editor where you can resolve the conflicts that occurred during the revert process. Edit the files as necessary to resolve the conflicts, then save and close the files.
  • Run the command git add to stage the changes you made to resolve the conflicts.
  • Run the command git revert --continue to continue the revert process and create the revert commit.
  • Git will open a text editor where you can enter a commit message for the revert. Save and close the file.
  • Use git log again to confirm that the revert commit has been created.