During a few years of discussing git operations with colleagues, I’ve found the “git rebase --onto” operation particularly ambiguous. The reason is that I always describe a rebase operation as “onto” something else (because of the English phrase “A is based on B”). For example: $ git rebase new-base # “Rebase HEAD onto new-base (from merge-base of HEAD and new-base)" $ git rebase new-base my-branch # “Rebase my-branch onto new-base (from merge-base of my-branch and new-base)” Personally, I understand “git-rebase --onto new-base old-base” as meaning “rebase from old-base to new-base”. Some prepositions that might make this clearer: $ git rebase --from old-base new-base # “Rebase HEAD onto new-base, from old-base" $ git rebase --after old-base new-base # “Rebase commits on HEAD after old-base HEAD onto new-base" $ git rebase --excluding old-base new-base # “Rebase HEAD onto new-base, excluding commit old-base (and its parents)" In all cases this would change the order of the arguments compared to --onto, making it more consistent with the no-option rebase. What do others think? Is my view of “onto” common or unusual? Jonathon Mah me@xxxxxxxxxxxxxxx -- 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