Что делает эта команда "git checkout -." - PullRequest
0 голосов
/ 19 октября 2019

Я новичок, использующий git, и хочу знать, что означает эта команда git

git checkout -- .

Я знаю, что git checkout предназначен для переключения между ветками, но я не знаю, что из-за указанных выше опций означает, что я пыталсясмотреть на итоговые данные, но у меня не было таких вариантов

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Ни --, ни . не являются специфичными для git:

Первый аргумент --, который не является аргументом-параметром, должен приниматься в качестве разделителя, указывающего конец параметров. Любые последующие аргументы должны рассматриваться как операнды, даже если они начинаются с символа '-'.

(из https://unix.stackexchange.com/questions/11376/what-does-double-dash-mean-also-known-as-bare-double-dash/11378).

. - текущий каталог.

git checkout предназначен для переключения между ветвями

Если вы посмотрите на https://git -scm.com / docs / git-checkout , эта команда имеетформа

git checkout [<tree-ish>] [--] <pathspec>…​

, поэтому

Перезаписать пути [s] в рабочем дереве, заменив их содержимым вindex или в <tree-ish> (чаще всего в коммите).

"Пути" равны . (текущий каталог), а "<tree-ish>" - HEAD (текущий коммитGit указывает на), потому что вы не указали другого.

0 голосов
/ 19 октября 2019

Проверяет текущий каталог и подкаталоги.

tymtam@x:/mnt/c/tmp/x$ git status

        modified:   x.txt
        modified:   z/z1.txt
        modified:   z/z2/z2_1.txt

tymtam@x:/mnt/c/tmp/x$ cd z                // changing to subdirectory
tymtam@x:/mnt/c/tmp/x/z$ git checkout -- .
tymtam@x:/mnt/c/tmp/x/z$ git status

        modified:   ../x.txt

(я убрал git chatter для краткости)

...