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)
No, you can't mess up since each row is a local branch. If you checked multiple branches all it would mean is that each of those local branches would track the remote branch listed next to them (if pushed).
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:
Hi folks, While the full post is over on our blog I'd like to share the dark theme we've got planned for 2019 here directly as well to keep the discussion going. The ...
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