Junio C Hamano <gitster@xxxxxxxxx> writes: >> -Updates files in the working tree to match the version in the index >> -or the specified tree. If no pathspec was given, `git checkout` will >> -also update `HEAD` to set the specified branch as the current >> -branch. >> +`git checkout` has two main modes: Another thing I noticed but forgot to mention. >> + >> +1. **Switch branches**, with `git checkout <branch>` Does everybody really understand what it means to "switch branches" without further explanation? Also "<branch>" -> "(<branch> | <commit>)", perhaps, as working on the unnamed branch (aka detached HEAD) behaves very much the same way as working on a named branch.