"Julia Evans via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > +Here is a simplified description of what `git rebase <upstream>` does: > + > +1. Make a list of all new commits on your current branch since it branched > + off from `<upstream>`. This is the same set of commits that would be shown > + by `git log <upstream>..HEAD`. You can use `--fork-point` or `--root` to > + change how this list of commits is constructed. > +2. Check whether any of those commits contain the same changes (according to > + `git patch-id`) as a commit already in `<upstream>` and remove them from > + the list. I'd suggest three things * Rewrite the introductory text to Here is what "git rebase <upstream> [<branch>]" conceptually does: * Add step 0. to make "your current branch" in the next step valid. 0. When <branch> is given, check it out and make it your current branch. * Combine the steps 1 & 2. and stop talking about "git log" whose invocation cannot be precisely described here anyway. Other than that, the remainder of the series (v7 [1-4/5]) looked good. THanks.