SourceTree 1.6.4.0 on Windows 7.
Let's say the following is my starting point:
C <- master
/
- A - B <- topic
I want to rebase topic onto master.
My goal is to have:
C - A - B
^ ^
master topic
but I end up with:
I can then do
git push origin topic -f
and I get the intended result, but what is the proper way to do this in SourceTree?
You can enable force push in Tools/Options/Git/Enable Force Push. After it is enabled you can check "Force Push" check box in the "Push" dialog.
You have to do a force push, because topic branch is already published and you are rewriting history. Commits A and B from origin/topic are removed if you rebase.
You should make a merge if you don't want to do a force push, specially if you have a team members already working on topic.
You can't do a force push with SourceTree for Windows yet (see answers at atlassian forums). You can vote for this feature here: https://jira.atlassian.com/browse/SRCTREEWIN-338