Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

revert origin/master to my local master

I've pushed a few commits to origin/master instead of side branch. I reverted my local master to the commit I want. Obviously I can't pull and then push because that would bring in undesired changes. I can't push straight away either, because my local branch is behind a few commits. Now how can I push it to origin and overwrite it?

Thanks,

Mav

4 answers

At the command line: git push -f

I'm not sure if there's a way to do it from SourceTree - I'm not seeing one right off hand.  

Use that command very judiciously, though.  If anyone else has pulled the bad commits on to their local repositories, you would be better off reverting the commits rather than "deleting" them.

Also it is possible that your remote may be configured to reject force pushes, in which case this won't work.

 

"Forced push" is not accessible in windows version of Sourcetree - see: https://jira.atlassian.com/browse/SRCTREEWIN-338

You should be able to do it from Git Bash (command line), though, if it hasn't been disabled on your remote. Again, you should use it judiciously, if at all.

To push any arbitrary commit-id to origin/master from the command-line, here's the command (this forces origin/master to become the exact commit-id specified):

 

git push --force origin <commit-id>:refs/heads/master

 

For example:

git push --force origin 6fe08acd2f:refs/heads/master

I am not fan of git... but no option and forced to use...

 

I have same question how do revert my change or change committed file without creating another change list

Thank you Tim,

I'll investigate further.

Also note that in Git there is an important difference between the "reset" command and the "revert" command. The reset command moves the HEAD back to a previous commit. The revert command creates a new commit on the end of a branch that undoes the changes made by a specific commit (without actually removing that commit from the graph, therefore avoiding rewriting history).

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

5,789 views 4 12
Read article

Community Events

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

Events near you