On Thu, Feb 11, 2010 at 01:57:34PM -0500, Chris Packham wrote: > Taking a quick look at the git push --help you'll see the following > snippet of configuration. > > [remote "<name>"] > url = <url> > pushurl = <pushurl> > push = <refspec> > fetch = <refspec> > > so I think if you just add the pushurl to your .git/config should do > what you've asked > > [remote "origin"] > fetch = +refs/heads/*:refs/remotes/origin/* > url = git://git.kernel.org/pub/scm/git/git.git > pushurl = git://git.example.com/yourrepo.git That's not quite what David wants, I think. That is a good recipe if you have two ways of accessing the same repo (usually git:// for reading and ssh for pushing). But if the two URLs actually point to _different_ repos, you will get some confusing results. For example, pushing to your private repo will update the tracking branches in refs/remotes/origin/* with values that do not match what is in the actual origin repository. > git remote add yourrepo git://git.example.com/yourrepo.git > git push yourrepo master:refs/heads/master # the first time > git push yourrepo # subsequent times > > There probably is a way to tell push to use something other than > "origin" by default but I don't know/can't find it. I don't think there is currently a way to do what he wants. You can set a default remote name by setting branch.*.remote, but that has two problems: 1. It is also used to determine the upstream remote for pulling and for calculating upstream tracking branches. So he probably wants to leave it set as origin. 2. It would have to be set manually for every branch. I think what he would need is a "push.defaultRemote" config option, which universally overrides branch.*.remote for pushing. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html