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?
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:
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)
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?
Hello I know they're old comments, but in response to @Md. Kauser Ahmm @Kevin Williams @Scott Kallen . 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.
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.
Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events