Craig H Maynard <chmaynard@xxxxxx> writes: > Recently I tried creating an orphan branch in an existing repo using git-checkout and git-switch. > > Both commands have an --orphan option. > > The results were different: This is one of the very much deliberate differences between "switch" and "checkout" (there are others). The "switch" command was introduced as an experiment to figure out a better UI choices for one half of "checkout", which deals with checking out a branch to a working tree (the other half being "restore", which is about checking out files out of a tree-ish). The initial round of "switch" proposed to go with the identical semantics as "checkout" for the "--orphan" option [*1*], but during review discussion, a concensus was reached that a better behaviour for creating an entirely new history may be to start from void [*2*], and that is what is in the experimental command you see. [Reference] *1* https://lore.kernel.org/git/20190130094831.10420-9-pclouds@xxxxxxxxx/ *2* https://lore.kernel.org/git/CABPp-BF3_p3+fmQcWYEu2z3J4FfPmDmiMyFiBRXyz8TxKLL7jA@xxxxxxxxxxxxxx/