LogIn
I don't have account.

How can I revert a specific commit form our branch?

I am working on a branch in which I have pushed lot of commits. After that, i realize that one commit that was pushed is not required how can i undo/revert that commit form my branch

Please pay attention to update your answer.

Update Your Answer care fully. After saving you can not recover your old answer

Carefully Update Your Answer!!

There are many ways to remove or undo a specific commit from your branch in Git

 1. Reverting a Commit
If you want to undo the changes introduced by a specific commit but keep the commit history intact, you can use the `git revert` command. This creates a new commit that undos the changes of the specified commit.

  1. Identify the commit hash of the commit you want to revert. 

    git log
  2. Revert the commit using its hash.

    git revert <commit-hash>

  This will create a new commit that reverses the changes introduced by <commit-hash>

2. Removing a Commit from History
If you want to completely remove a commit from the branch history, you can use an interactive rebase. This method rewrites the commit history

  1. Start an interactive rebase. If the commit you want to remove is not too far back, you can specify the number of commits to look back. For example, if the commit is 3 commits ago: 

    git rebase -i HEAD~3
  2.  An editor will open showing a list of commits. Each commit has a command pick by default next to it. Find the commit you want to remove and change pick to drop.
  3. Save and close the editor. Git will reapply the remaining commits, effectively removing the specified commit.

Pushing Changes
After using either method, you need to push the changes to the remote repository. If you've used git revert, you can simply push:

git push

If you've rewritten the commit history using an interactive rebase, you need to force-push the changes:

git push --force

 Choose the method that best fits your situation, and be cautious with force-pushing, especially if you're working on a shared branch.

Please pay attention to update your answer.

Update Your Answer care fully. After saving you can not recover your old answer

Carefully Update Your Answer!!

To Revert a Specific Commit (Safe Way - Keeps History)

If you’ve already pushed the commit to remote (and others may have pulled it):

git revert <commit-hash>

This creates a new commit that undoes the changes made by the specified commit  without changing your commit history.

  •  Safe for shared branches.
  •  Keeps the repo history clean.

Then push your changes:

git push origin your-branch-name

 To Completely Remove a Commit (Use Carefully)

If it’s your own branch and you can safely rewrite history (no one else depends on it):

git rebase -i HEAD~N

Replace N with how many commits back you want to review.
Mark the unwanted commit as drop (or delete its line), then save and exit.

Finally, push with force:

git push origin your-branch-name --force

 Warning: Force-pushing rewrites history use only if you’re sure no one else is working on that branch.

Please pay attention to update your answer.

Update Your Answer care fully. After saving you can not recover your old answer

Carefully Update Your Answer!!

If you want to discard commits entirely (not safe for shared branches) use reset command:

Soft Reset (keep changes in staging area)

git reset --soft <commit-hash>
  • Moves the branch pointer to the given commit but keeps your changes staged.
  • Use when you want to re-commit changes differently.

Hard Reset (remove commit completely)

git reset --hard <commit-hash>
  • Deletes all commits after that commit (and their changes).
  • Destroys local history, use carefully.

Push with force if already pushed:

git push origin your-branch-name --force