git checkout и обновляйте только разные подмодули - PullRequest
0 голосов
/ 09 октября 2019

Я работаю с git-репозиторием, в котором есть подмодули. Как я могу оформить предыдущий коммит и обновить субмодули (только те, которые нуждаются в обновлении отката)? Цель этого состоит в том, чтобы сэкономить время на git submodule update --init --recursive.

Почему обновление подмодуля git не выполняется автоматически при извлечении git? не отвечает на конкретную часть вопроса, которая заключается в обновлениисубмодули, которые не соответствуют предыдущей фиксации и не обновляют субмодули, которые соответствуют предыдущей фиксации. git submodule update --init --recursive клонирует все подмодули, и это не ожидаемый результат.

1 Ответ

1 голос
/ 09 октября 2019

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

git checkout oldercommit

git submodule foreach -q '
        now=`git -C $toplevel rev-parse :$sm_path`
        test $now = `git rev-parse @` || git checkout $now
    '

работает заметно быстрее для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...