Подмодули Git в 1 каталоге

Я работаю над несколькими расширениями для программного обеспечения с открытым исходным кодом. Каждое из расширений имеет файлы, распределенные через файловое дерево программного обеспечения, для которого я пишу. Сначала я создал Git-проект для одного из этих расширений, и он отлично работал. Теперь мне нужно создать репозиторий Git для других расширений, но я не могу понять, как это сделать. Если я просто попытаюсь клонировать проект в свою корневую рабочую область, это перезапишет мой первый репозиторий Git.

Основываясь на исследованиях, я думаю, что это можно сделать с помощью подмодулей, однако все ссылки на подмодули, похоже, имеют каждый модуль в другом каталоге.

Мой вопрос: возможно ли разместить несколько проектов Git в одном каталоге с использованием подмодулей?


person Community    schedule 27.01.2012    source источник
comment
Вы имеете в виду, что хотите, чтобы все они были наложены друг на друга (что скрывает адреса), или что вы хотите, чтобы несколько из них находились в подкаталогах одного каталога (именно для этого и нужны подмодули)?   -  person Cascabel    schedule 27.01.2012


Ответы (2)


Нет. Подмодули не предназначены для наложения репозиториев.

Обычный способ сделать это — создать разные ветки для отдельных расширений, а затем объединить каждую ветку в главную ветку, представляющую совокупность всех расширений.

person smparkes    schedule 27.01.2012

Я понял, как это сделать, следующим образом:

Клонировать проект в корень. Как только он заработает, переименуйте файл .git в .git-%s, где %s представляет собой 2 символа, представляющих имя проекта. Затем я клонировал другой репозиторий в корень и сделал то же самое. После этого для всех проектов у меня в корне были следующие 4 файла .git:

корень - .gitwp - .gitbp - .gitas - .gitwps

Теперь я могу работать над всеми проектами одновременно. Если я хочу зафиксировать изменения в конкретном репо, я делаю следующее:

mv .gitwp .git git commit -m «Сообщение фиксации» mv .git .gitwp

Я надеюсь, что это помогает кому-то!

person Community    schedule 28.01.2012