never had cause to examine "git remote set-url" before so i'm a bit puzzled by this part of the man page: set-url Changes URLs for the remote. Sets first URL for remote <name> that matches regex <oldurl> ... With --push, push URLs are manipulated instead of fetch URLs. .. snip ... Note that the push URL and the fetch URL, even though they can be set differently, must still refer to the same place. What you pushed to the push URL should be what you would see if you immediately fetched from the fetch URL. If you are trying to fetch from one place (e.g. your upstream) and push to another (e.g. your publishing repository), use two separate remotes. i don't understand how you can clearly set the fetch and push URLs of a remote independently, while the man page nonetheless insists that "even though they can be set differently, must still refer to the same place". how can they be set differently yet still must refer to the same place? i suspect i'll have a couple more questions related to this shortly after i do a bit more reading. rday