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:
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 a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs