My usual workflow when working with git, is something like this:
Use this command:
git clone [<options>] [--] <repo> [<dir>]
Use the set-upstream arg:
git branch --set-upstream local-branch-name origin/remote-branch-name
Running the above command updates your .git/config file correctly and even verifies with this output:
"Branch local-branch-name set up to track remote branch remote-branch-name from origin."
EDIT: As martijn said: "In version Git v1.8.0, --set-upstream is deprecated. Use --set-upstream-to instead."
git branch --set-upstream-to local-branch-name origin/remote-branch-name
See this for more information.
git help remote
should show you what you need to know. I think what you want is
git remote add [remote-name] [remote-url]
# Set a local branch to follow the remote
git config branch.[branch-name].remote [remote-name]
# Set it to automatically merge with a specific remote branch when you pull
git config branch.[branch-name].merge [remote-master]
You can also manually edit .git/config to set these up.
On newer versions of git you can use
git branch --track origin/branch_name
The --set-upstream flag is deprecated and will be removed.
git branch master --set-upstream-to myupstream/master
Fast forward three years (see what I did there :-) ), I tried to pull an untracked branch using Git Bash and received
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> develop
The following achieved what I needed:
$ git branch --set-upstream-to=origin/develop develop
Branch 'develop' set up to track remote branch 'develop' from 'origin'.