One of those really handy things to remember… When git “tracks” a branch, it basically sets up an entry in .git/config which tells git what to do with push and pull. For example:
I had a remote branch called Task/Round3.3.
I wanted to work on it locally, but have push and pull work right.
So I ran this:
git checkout -b Task/Round3.3 --track origin/Task/Round3.3
To which git said:
Branch Task/Round3.3 set up to track remote branch refs/remotes/origin/Task/Round3.3.
Switched to a new branch "Task/Round3.3"
And in .git/config, these lines were added:
[branch "Task/Round3.3"]
remote = origin
merge = refs/heads/Task/Round3.3
Now, when I checkout Task/Round3.3, I am able to say `git pull` and `git push`, and it will do the “right thing”…