Convert Git branches to remote tracking branches
Update: As of Git 1.7.0, converting existing branches to tracking branches got a whole lot easier. git push
now has a -u
flag which will set up tracking based on a successful push.
$ git push -u hub master
Branch master set up to track remote branch master from hub.
For reference, here’s the original post:
There are two ways to convert an existing branch to a remote tracking branch, using git config
or directly editing the .git/config file.
In both of these examples, the local and remote branches are named “master”. The remote repository is “hub”.
git config commands
$ git config branch.master.remote hub
$ git config branch.master.merge refs/heads/master
editing .git/config
All the git config
commands do is add the following to .git/config, editing the file manually has the same result.
[branch "master"]
remote = hub
merge = refs/heads/master
What would be nice is an additional config command, branch.<name>.track, which would split a full refspec, sending the relevant parts to the remote and merge commands.