git add -p --ignore-submodules?

Есть ли способ игнорировать грязные подмодули при использовании git add --patch ?

Я поставил ignore = dirty как объяснено здесь. Кажется, это работает только с git status а также git diff, я люблю git add -p, Необходимость пропустить 10 грязных субмодулей каждый раз, когда я хочу добавить небольшое изменение, расстраивает меня.

Я не совсем понял, git add -i пока, но похоже, что он обрабатывает грязные подмодули таким же образом.

2 ответа

Добавление тихо игнорировать обновления субмодуля, по словам Клинта, кажется слишком опасным.

Я не знаю, как это сделать с помощью add --patch, но я могу довольно близко подойти с помощью add --edit и сопоставления клавиш vim:

map <Leader>\x :%!sed '/^diff --git/\!{H;$\!d};x;1{$\!d;x};/\nindex[^\n]*160000\n/d'<CR>

пока будет карта \\x устранить все подмодули обновления блоков. \!s в этом - специфичные для vim escape-экраны, уберите эти обратные слеши, чтобы использовать sed в другом месте.

С Git 2.16.x/2.17 вам даже не понадобится --ignore-submodules вариант,
с тех пор git add -p "научили игнорировать локальные изменения в подмодулях, так как они не мешают частичному добавлению регулярных изменений в любом случае.

См. Коммит 12434ef (13 января 2018 г.) Нгуен Тай Нгук Дуй ( pclouds )
(Объединено Юнио С Хамано - gitster - в коммите e7e8077, 23 января 2018 г.)

добавить - интерактивный: игнорировать изменения подмодулей, кроме HEAD

За ' add -i ' а также ' add -p ', единственное действие, которое мы можем предпринять для грязной записи подмодуля, это обновить индекс новым значением из его HEAD,
Изменения содержимого внутри (из собственного индекса, неотслеживаемых файлов...) не имеют значения, по крайней мере, до ' git add -i узнает о запуске нового интерактивного сеанса добавления внутри субмодуля.

Игнорировать все другие изменения подмодулей, кроме HEAD.
Это уменьшает количество записей, которые пользователь должен проверить в git add -i и число no "они должны ответить" git add -p 'когда грязные подмодули присутствуют.

Другие вопросы по тегам