Jeff King <peff@xxxxxxxx> writes: > Do either of you use remote.pushDefault, branch.*.pushRemote, or > @{push}? > > My triangular config for git.git looks like: > > [remote "origin"] > url = https://github.com/gitster/git.git > [remote "github"] > url = https://github.com/peff/git.git > [remote] > pushDefault = github > [branch "jk/foo"] > remote = origin > merge = refs/heads/master > > Then upstream comparisons, "git rebase" etc without arguments, do what I > want: compare against master. And "git push" without arguments does what > I want: push this branch to my fork. And if I need to refer to the > pushed version for some reason (e.g., comparing what I just changed to > what I last sent out, "git range-diff @{u} @{push} HEAD" does the right > thing. Yeah, I do recall we had quite a lot of design discussions around "triangular" workflow when we introduced these facilities, and if I am not mistaken, the above is the way they are designed to be used. Thanks for an example.