Подмодуль - это Git хранилище. Это просто репозиторий Git, который какой-то другой Git - суперпроект - будет git clone
для вас, а затем git checkout
какой-то конкретный коммит (как "отсоединенный HEAD" в подмодуле).
Любой, кто клонирует суперпроект, в какой-то момент запустит git submodule update --init
. Это приведет к запуску суперпроекта git clone
для получения подмодуля Git хранилище. Любые коммиты, сделанные вами в вашем клоне , ... ну, в вашем клоне . Их нет ни в одном другом клоне. Таким образом, вам придется предоставить всем в Интернете - или, по крайней мере, всем, кто может git clone
ваш суперпроект - доступ к вашему клону этого подмодуля.
Если вы этого не сделаете Вы хотите предоставить Inte rnet полный доступ к вашему ноутбуку - а вы, вероятно, этого не делаете - вы должны прекратить хранить единственную копию хранилища субмодулей на своем ноутбуке. Другими словами, вам нужна publi c -доступная версия подмодуля .
Предположим, что подмодуль, который вы клонировали вчера, https://github.com/someone/sub.git
. Клон этого субмодуля вашего ноутбука, file://path/to/sub.git
, не имеет общедоступного URL-адреса 1065 * (file://...
на мой ноутбук относится к моим файлам, не ваша). Так что вам нужно сделать на GitHub или где-то еще, ваш форк этого подмодуля: https://github.com/bodhi_daruma/sub.git
или что бы это ни было.
Теперь, когда вы делаете если у вас есть c -публичная версия доступа sub.git
, вы можете отправить свой подмодуль Git коммитов в этого хранилища. Возможно, вы захотите сделать коммиты вашего субмодуля на своем ноутбуке в ветви , а не в режиме «отсоединенного HEAD», который установлен вашим суперпроектом. Смотрите существующие вопросы о том, как это сделать. Затем вы будете git push
коммитов, которые вы сделали в своем субмодуле на своем ноутбуке, на Git на GitHub (или где бы вы ни хранили это).
Теперь вы захотите иметь свой суперпроект Git относится к https://github.com/bodhi_daruma/sub.git
или к какому-либо URL, а не к https://github.com/someone/sub.git
. То есть, когда люди клонируют ваш суперпроект, этот клон направит их суперпроект Git на git clone
ваш форк подмодуля.
Единственная другая реальная альтернатива - это предложить кому-либо поддерживает подмодуль, который вы используете, чтобы они включали ваши коммиты в их (GitHub-или-что) хранилище. Вероятно, также включает использование функции fork на GitHub или Bitbucket или там, где находится этот репозиторий подмодулей.