2014-01-16 2 views
1

При каких обстоятельствах (кроме .gitignore) git commit -a не собирается фактически автоматически git add неустановленных файлов? Обычно я использую это, чтобы сохранить этот шаг, но недавно в одном из моих репозиториев я должен явно указать git add файлы до того, как я их совершу, или они не включены. Нет файла .gitignore, который предотвратит их автоматическое добавление. Есть ли проблема с тем, что файлы chmod a + x? Не уверен, что это изменило бы ситуацию.git commit -a -m не добавляет неустановленные файлы

ответ

4

git commit -a не добавляет неиспользуемые файлы. Он добавляет измененные файлы и удаленные файлы.

От git help commit:

-a, --all 
    Tell the command to automatically stage files that have been 
    modified and deleted, but new files you have not told Git about are 
    not affected. 

Файлы игнорировали через .gitignore не включены, и ни один не файлы игнорируются через .git/info/exclude. Файлы в любом из этих случаев должны быть явно добавлены с помощью git add -f.

+0

ах, это отвечает на него, спасибо. – johnbakers

+0

Обратите внимание, что файлы, проигнорированные с помощью механизма игнорирования, игнорируются только при отсутствии слежения. Если файл, который будет проигнорирован, уже находится в репо или принудительно добавлен ('git add -f'), он становится не проигнорированным. (Я знаю, что часть этого находится в вышеупомянутом ответе уже, просто пытаюсь быть полным здесь. :-)) – torek

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