how should i remove push commit from sourcetree ?
Asked by Bhushan Biniwale:

I am using source tree. By mistakenly, i select 'reverse commit...' from my last commit. I don't want that commit to be pushed on server. How should i do that?


Answers:
author: KieranA
body: Hi Bhushan,

If you select the log entry to which you want to revert to then you can click on "Reset \<branch\> to this commit". Only use this option if you didn't push the reverse commit changes. If you're worried about losing the changes then you can use the soft mode which will leave a set of uncommitted changes (what you just changed). Using the mixed resets the working copy but keeps those changes, and a hard will just get rid of the changes entirely. Here's some screenshots:

![](http://i.imgur.com/nWDzb6k.png)

![](http://i.imgur.com/bTaS5KD.jpg)

Hope that helps, if not, feel free to ask more questions.

(EDIT: Just to add to that, there's a really good, understandable explanation of soft/mixed/hard modes here: <http://stackoverflow.com/questions/3528245/whats-the-difference-between-git-reset-mixed-soft-and-hard>)

comments: author: Daniel Yanes Arroyo
body: Thanks! This helped me a lot with another issue


author: Md. Kauser Ahmmed
body: hi @Kieran Senior \[Atlassian\] , If I pushed the commit to remote server, Then what should I do in case, I want to revert the commit or soft reset the commit.as you say \*Only use this option if you didn't push the reverse commit changes\*. Thanks in advance.


author: James
body: I don't have this option on my right click menu. Is is Mac only? Does it only appear if the branch is called "master"? Something else?


author: Kevin Williams
body: Same question as @Md. Kauser Ahmmed - What if I already committed and pushed once or twice and I want to disregard both of those pushed commits and revert to a earlier point? What steps should be take in Atlassaian Sourcetree?


author: Scott Kallen
body: Good question, Kevin. Seems you've been left hanging. I, too, have done this "reset to to this commit" and what happens is my local repo resets but then I am now X number of commits behind the remote branch. And sourcetree won't let me overwrite them. I want to remove the commits after the commit I reset to. Period. Remote and all. Why is this hard?


author: Mike_Robinson
body: Hello I know they're old comments, but in response to [@Md. Kauser Ahmm](/t5/user/viewprofilepage/user-id/530727) [@Kevin Williams](/t5/user/viewprofilepage/user-id/321509) [@Scott Kallen](/t5/user/viewprofilepage/user-id/715563) . I just had this issue, saw this and noticed there's no answer here... I just found out to do this, you reset your local branch to the commit you want, as mentioned in article above. Then you push and check the "Force" check box. The force checkbox is greyed out by default in SourceTree because it's dangerous. You need to enable it in the Source tree options - git - Enable force push. Source tree could really do with a tooltip when hovering over the greyed out "force" checkbox to tell you this.

For me the force push went through fine and the branch was in the same place local and remote. Obviously only do this if the remote branch past the commit you want to keep only contains the commits you want to delete and not if other people have been working in it since.

Cheers,

Mike


author: Sanjay Verma
body: Exactly what I was looking for. Thanks


author: BertjeBertje
body: I think I have already used Mike's solution sometimes, but I can't get it to work now.

In SourceTree I can do the reset, but the forced push bumps. It effectively does nothing.

Then I am left with 2 different heads.

The only remaining option seems to pull to synchronise again, then reverse commit and push that.

This is so FRUSTRATING. I am the only user and I just want knock out a single commit.

I don't seem to be able to do that in GitHub either.


author: Sanjeev gour
body: Thanks [@Mike_Robinson](/t5/user/viewprofilepage/user-id/1018173). It worked for me


author: Matt
body: This helped me remove a commit that I needed to remove in order to move forward. Thank you!