Я пытаюсь определить различия, существующие среди следующих 4 команд.git checkout vs git checkout HEAD vs git checkout <CURRENT BRANCH> vs git checkout - <WORKING DIR>
Предположим, что текущая ветка равна master
, а текущий каталог - это «рабочий каталог», то есть тот, где находится .git
.
git checkout
git checkout HEAD
git checkout master
git checkout -- .
Насколько я могу сказать, что первые две команды полностью эквивалентны, и, по существу, не оп (за то, что они оба могут произвести некоторый вывод, за исключением); третий из них почти идентичен первым двум, за исключением того, что он будет производить в дополнение к любому другому выходу, который первый из них производит, строка Already on 'master'.
Последняя команда, в отличие от всех остальных, будет отбрасывать все неустановленные изменения.
Пропустил ли я что-нибудь?
Откуда вы получаете «четыре»? связанная с вами страница начинается с 5 различных шаблонов, содержащих 'git checkout' ... – kjo
Прокрутите вниз, есть четыре основных абзаца описания. Несовпадение немного странно, если быть уверенным. –