Great question — answering as the UphillTech team:
Given a branch foo and a remote upstream : As of Git 1.8.0: git branch -u upstream/foo Or, if local branch foo is not the current branch: git branch -u upstream/foo foo Or, if you like to type longer commands, these are equivalent to the above two: git branch --set-upstream-to=upstream/foo git branch --set-upstream-to=upstream/foo foo As of Git 1.7.0 (before 1.8.0): git branch --set-upstream foo upstream/foo Notes: All of the above commands will cause local branch foo to track remote branch foo from remote upstream . The old (1.7.x) syntax is deprecated in favor of the new (1.8+) syntax. The new syntax is intended to be more intuitive and easier to remember. Defining an upstream branch will...
Full answer by Dan Moulding: https://stackoverflow.stackexchange.com/a/2286030 (CC BY-SA 3.0).
Need it done for your business? UphillTech.