Ретроспективно добавить --рекурсивно в Git РЕПО
Если вы git clone
с --recursive
, вы можете получить все подмодули git тоже.
Если я забыл добавить этот волшебный флаг при клонировании, как это может произойти, как мне теперь пойти и получить какие-либо подмодули?
кроме того, как я могу установить флаг рекурсии по умолчанию для будущих клонов?
4 ответа:
вы можете сделать это с этим после простого клона верхнего уровня:
git submodule update --init --recursive
Я бы не рекомендовал делать клон делать это по умолчанию. Правильный способ сделать это, если вы используете подмодули агрессивно для разработки, а не просто ссылки на сторонние библиотеки OSS на github, которые вы можете обновить один раз в blue moon, - использовать git slave или поддерева.
надеюсь, что это помогает.
из корня репозитория:
$ git submodule update --init --recursive
это обновит все зарегистрированные подмодули, инициализируя их, если это необходимо, до значения, найденного в .gitmodules файл, а также выполняться в комплексе подмодулей (с подмодулями свои собственные) и инициализация и обновление.
самый простой способ я знаю, чтобы сделать клонирование рекурсивно по умолчанию будет тень
git clone
С псевдоним$ git config --global alias.clone = 'clone --recursive'
Что касается добавления опций всегда, я думаю, что это идиоматический метод.
IIRC,
git submodule init
,git submodule update
к сожалению, я не вижу возможности включить рекурсивный по умолчанию, однако.
похоже, вы не можете переопределить "clone" с псевдонимом "clone", поэтому это новый псевдоним (решение Abizern) или "--recursive".
можно ли переопределить команду git с помощью псевдонима git?