Git – Different Remote for each Branch

You can set a different branch to push to a different server for individual branches by using these commands:

As of Git 1.8.0:

git branch --set-upstream-to origin/foo foo

Note: If the last foo is left out, it will choose the current branch.

As of Git 1.7.0:

git branch --set-upstream foo origin/foo

In your case, you would use this by adding your two remotes (mydomain and github) and setting each branch to push to them individually. It might look something like this:

Make sure you add the remotes if you haven’t already:

git remote add github git://github.com/foo/myrepo.git
git remote add mydomain git://git.mydomain.com/foo/myrepo.git

Then set the branches to push to the right places:

git branch --set-upstream-to mydomain/private private
git branch --set-upstream-to github/public public

After this is all set up, you can push and pull just by using git push and git pull. This will push and pull to the github remote when you’re on the public branch, and to your mydomain.com remote when you’re on your private branch.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)