Подтвердить что ты не робот

В "git checkout - files", что означает "-"?

Является ли это "завершением опции", которую я использую для просмотра в bash (и если да, то почему мы его используем) или это нота Git для индекса или HEAD?

4b9b3361

Ответ 1

-- разделяет пути от других параметров. Из документа :

git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>... 

Если эти обозначения не существовали, следующие две команды были бы двусмысленными:

git checkout <tree-ish> <path1> <path2>
git checkout <path1> <path2> <path3>

С обозначением -- ясно, что подразумевается:

git checkout <tree-ish> -- <path1> <path2>
git checkout -- <path1> <path2> <path3>

Документация, связанная с выше, включает example, когда вам может понадобиться:

$git checkout hello.c

Если у вас есть неудачная ветка с именем hello.c, этот шаг будет запутан как инструкция для перехода к этой ветке. Вы должны написать:

$git checkout - hello.c