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
m...@jonathonmah.com


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to