#git #git-submodules
#мерзавец #git-submodules
Вопрос:
Я хочу git pull --recurse-submodules
обновить все подмодули до последней фиксации в их ветке.
.gitmodules
:
[submodule "roles-shared"]
path = roles-shared
url = ../../project/roles-shared.git
branch=master
Я обновляю master
ветку в репозитории с общим доступом к ролям, добавляя 1 новую фиксацию.
Я делаю git pull --recurse-submodules
в главном репозитории:
Fetching submodule roles-shared
From gitlab:project/roles-shared
83de1f4..f0688dd master -> origin/master
Already up to date.
Подмодуль получил все новые коммиты, но он не обновляется, он на 1 коммит отстает от master:
# submodule foreach git status
Entering 'roles-shared'
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
Есть ли какой-нибудь способ git pull
автоматически обновлять подмодули до их последних коммитов?
Ответ №1:
git pull amp;amp; git submodule foreach git pull origin master
Комментарии:
1. Это должно сработать. Я надеялся на какую-нибудь опцию в конфигурации git или переключатель командной строки для git pull, чтобы рабочий процесс немного не изменился из-за наличия подмодулей.