Is there a way to set up a git repository, so that git pull defaults to one remote and git push defaults to another? I know I can set both
For Git 1.6.4 and later, set remote. with git config.
One might use this to pull using the read-only https: protocol and push using an ssh-based protocol.
Say origin's url (remote.origin.url) is https://git.example.com/some/repo.git. It is read-only, but you have write access through the ssh-based ‘URL’ git@git.example.com:some/repo.git. Run the following command to effect pushing over the ssh-based protocol:
git config remote.origin.pushurl git@git.example.com:some/repo.git