Как я могу получить фиксации субмодуля из центрального репозитория, не передавая коммиты субмодуля в вышестоящий репозиторий субмодуля?
Например, допустим, у меня есть центральное хранилище git A
, которое я клонирую:
git clone /path/to/A myA1
Теперь я добавляю некоторый репозиторий, который мне не принадлежит, в качестве подмодуля:
git submodule add https://.../B.git myB
git commit -m "Added B submodule"
Я добавляю некоторые изменения в подмодуль B
и фиксирую их:
cd myB
echo foo >> x.txt
git add x.txt
git commit -m "changes in local B"
cd -
git commit -m "changes in submodule"
git push # push commits in local myA1 to central repo A
Но я не могу отправить коммиты в myB
вверх по течению до B
, потому что я не могу писать в B
(это какой-то репозиторий на Github). Когда мои коллеги клонируют центральное хранилище A
, их подмодуль ссылается на вышестоящий B
репозиторий, а не на A
:
git clone /path/to/A myA2
Их запись url
в .gitmodules
указывает на https://.../B.git
, которая не содержит изменений моего коммита.
Как они могут получить изменения, которые я зафиксировал в моем B
субмодуле?