2016-08-25 6 views
2

Это кажется достаточно простым, но у меня трудное время понимание разницы между следующими командами:Что делает git add -n -ignore-missing на самом деле?

git add -n 
and 
git add -n --ignore-missing 

Я считаю, я понимаю, что «мерзавец добавить -n» делает в том смысле, что она сухая запуск «git add», что означает, что он сообщит пользователю, какие изменения файла будут добавлены в промежуточную область (индекс), фактически не добавив ничего в промежуточную область. Я прочитал следующее описание «мерзавца добавить -n» команда в online git documentation:

-n
--dry перспектива

ли на самом деле не добавить файл (ы), просто шоу если они существуют и/или будут проигнорированы.

От «будет проигнорировано» Я предположил, что если «git add -n» не показывает, что он будет делать с файлом, который существует, то этот файл «игнорируется». Я не придумал обстоятельства, когда команда будет буквально показывать, что файл будет проигнорирован ... пока. Имейте в виду, я работал с Гит только последние пару недель.

Теперь моя путаница начинается со следующим описанием «--ignore пропущенным»:

--ignore-недостающего

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

«... пользователь может проверить, не будет ли проигнорирован какой-либо из этих файлов» ... Но я подумал, что это то, что «git add -n» делает само по себе. Я создал репозиторий, где все файлы, соответствующие * .log, должны игнорироваться. Тем не менее, я не вижу «git add -n», говоря о каких-либо файлах с этим расширением, если он уже не является частью репозитория. То же самое касается «git add -n -ignore-missing».

Я отчаянно искал способ, в котором этот параметр обеспечивает любое отличие от обычного использования «git add -n». У меня такое чувство, что мое понимание «git add -n» частично или полностью неверно, что меня беспокоит. Поэтому я надеюсь, что кто-то сможет разработать и подчеркнуть, где я ошибаюсь. Спасибо всем, кто может помочь!

ответ

2

Вы можете git add -n --ignore-missing some.filename, и если some.filename игнорируется политикой gitignore, вы получите сообщение «Следующие пути игнорируются одним из ваших сообщений .gitignore» и отличным от нуля статусом выхода. Это работает , даже если на самом деле нет файла с именем some.filename. Без --ignore-missing вы бы получили сообщение об ошибке some.filename не было.

+0

Получаю тот же результат: выполняю ли я git add -n -ignore-missing some.filename' или 'git add -n some.filename'. Может ли это быть в конфиге? – Dash

+0

Под «тем же результатом», я имею в виду, что я получаю «Следующие пути игнорируются одним из ваших файлов .gitignore:' вывод для обеих команд – Dash

+0

Моя ошибка для того, чтобы попробовать его в файле, который существует. Если это не так, да, вы абсолютно правы. – Dash

 Смежные вопросы

  • Нет связанных вопросов^_^