In general when is one branch the upstream of another one?
git-rebase - Forward-port local commits to the updated upstream head
git rebase [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] [<branch>]
In the following the master is the upstream branch. But why is master upstream, what is the precise definition?
A---B---C topic
/
D---E---F---G master
start-afterpoint, and continues to the tip commit on the givenbranch, moving them to theontopoint." (But that's still not quite accurate, as it starts after the merge base. Which is probably why the docs say "upstream" here, it's confusing no matter how you phrase it.)rebaseuses "upstream" in a slightly weird way,pushandfetchhave subtly different ways of using "refspec", etc. They're all reasonable but you have to be really careful about who's speaking.