Значение git checkout двойные тире


что означает двойной тире перед именем файла в этой команде git?

git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt

они обязательны? Это эквивалентно

git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
2 204

2 ответа:

Предположим у меня есть файл с именем path/to/file.txt в моем репозитории Git, и я хочу вернуть изменения на нем.

git checkout path/to/file.txt

теперь предположим, что файл с именем master...

git checkout master

Упс! Что вместо того, чтобы изменить ветвей. Элемент -- отделяет дерево, которое вы хотите проверить, от файлов, которые вы хотите проверить.

git checkout -- master

это также помогает нам, если какой-то фрико добавил файл с именем -f в наше хранилище:

git checkout -f      # wrong
git checkout -- -f   # right

это описано в git-checkout: аргумент неоднозначности.

двойной тире " -- "означает" конец флагов командной строки", т. е. он говорит предыдущей команде не пытаться анализировать то, что происходит после параметров командной строки.