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

Это что-то особенное, или я просто не знаю, какой механизм лежит в основе?

1 ответ1

1

Из документации Git:

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

-- используется для отделения путей от опций. Это необходимо, так как некоторые из опций имеют необязательные параметры, поэтому, если вы не включили -- команда может попытаться интерпретировать путь как параметр опции. Как вы можете видеть из документов, -- - необязательно, когда фактически не требуется отделять опции от путей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .