When I push changes to repository the dialog with repository and branch selections have checkboxes that are named "Track?" and have 3 states; empty, checked and "-".
I think they have something to do with git tracking branches feature(?) but why three states, and what those states mean?
Checked = Set the remote branch to be the one the local branch should track
Unchecked = Stop the local branch tracking anything
Mixed (-) = Don't change any tracking on this branch, leave it as-is
The latter is the default so that you can push ad-hoc to different remotes / branches from a local branch and not change the tracking setup (neither setting it to a new branch, or unsetting it to stop tracking)
I was confused about this too, so I did some research.
A 'tracked' branch is the default remote branch for the local branch, so if you use 'git pull' or 'git push', Git knows which remote branch to use.
SourceTree uses the tracked branch to know what state you are in locally. If you switch the 'tracked' branch, SourceTree will show that new branch by default next time you open the push/pull dialogs. SourceTree will also change how it displays the notifications of how many commits ahead/behind your local branch is.
There's more info about Git's tracked branches here:
A vulnerability has been published today in regards to Sourcetree for Windows. The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...
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