2016-02-04 2 views
0

Обычно я использую git commit -a или git add -a, чтобы быстро добавить все файлы, находящиеся в репо, которые были изменены.Как добавить измененные файлы в каталог в индекс, но все равно игнорировать не проверенные файлы?

Иногда я хочу зафиксировать подмножество того, что было изменено. Здесь мы укажем их явно.

Но я хочу сделать что-то более тонкое: предположим, что у моего git repo есть два подпроекта внутри него, и я хочу сделать фиксацию для подпроекта A, где у меня внутри dir (1) пучок временных файлов, которые не отмечены в git и которые я НЕ хочу добавлять в индекс, и (2) несколько файлов, которые были проверены, в которых были изменены, которые я хочу добавить к индексу одним махом команды.

Я знаю, что если я изменю свой gitignore, чтобы полностью инкапсулировать все возможные типы временных файлов, то я могу использовать add -a, чтобы достичь этого легко. Однако это не очень практично, потому что каталоги, как правило, накапливают в них «лишние предметы».

Существует ли такая команда git?

+0

Это, безусловно, можно написать небольшой скрипт, который анализирует geth status фарфоровый вывод и добавляет файлы по отдельности. Я надеюсь, что что-то существует, чтобы сделать это, что встроено. –

ответ

2

Обновить все отслеживаются файлы в:

git add -u A 

От documentation:

-u, --update

Обновить индекс только там, где она уже есть запись, соответствующая <pathspec> , Это удаляет, а также изменяет записи индекса в соответствии с рабочим деревом, но не добавляет новых файлов.

Если <pathspec> указан при использовании опции -u, все отслеживаемые файлы во всем рабочем дереве обновляются (старые версии Git используются для ограничения обновления текущего каталога и его подкаталогов).

+0

Ницца, я редактирую ваш ответ с большим количеством положительных героев. –

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