Просматривая учебник по SubModule , я создал подмодуль из проекта boto . Затем я обнаружил, что на самом деле мне нужна только часть этого проекта, а именно папка boto .
Я хотел бы изменить свой подмодуль, чтобы он указывал на эту папку. Когда я смотрю в .gitmodules, я вижу
[submodule "backup/src/boto"]
path = backup/src/boto
url = https://github.com/boto/boto.git
Какой URL использовать вместо https://github.com/boto/boto.git ? Должен ли я после изменения URL-адреса удалить папку Boto локально и повторно вытащить?
git
git-submodules
потрошитель234
источник
источник
git subtree
Ответы:
Боюсь, что URL-адрес подмодулей всегда просто указывает на репозиторий - вы не можете указать, что вам нужна только подпапка репозитория, точно так же, как git не поддерживает «узкие клоны» в целом.
Если вы не можете жить с целым репозиторием в качестве подмодуля, вы всегда можете создать новый репозиторий, клонированный из boto, а затем настроить задание cron для:
git fetch
этот репозиторий в каталогgit filter-branch
для обновления ветки, в которой подкаталог находится на верхнем уровне.источник
Вы не можете клонировать только часть репозитория. Это потому, что git рассматривает репозиторий как единый объект: когда вы его получаете, вы получаете все .
Итак, решением здесь было бы получить подмодуль в другом каталоге, а затем использовать символическую ссылку для достижения вашей цели.
источник
ln -s
как в Linux)Что вы хотите сделать, так это создать ветку в подмодуле, переместить папку вверх и удалить то, что вам не нужно. Вместо этого вы можете управлять этой веткой. Если вы хотите поднять свои изменения, вы можете сначала выполнить обратное слияние. Git будет знать, что вы переместили файлы, и успешно выполните слияние.
Надеюсь это поможет.
источник