Git подмодули в 1 директория

Работя върху няколко разширения за софтуер с отворен код. Всяко от разширенията има файлове, разпространявани чрез файловото дърво на софтуера, за който пиша. Първоначално създадох Git проект за едно от тези разширения, което работи чудесно. Сега обаче трябва да създам Git repo за другите разширения, но не мога да разбера как да направя това. Ако просто се опитам да клонирам проект в основното си работно пространство, това ще презапише първото ми Git репо.

Въз основа на изследвания, мисля, че това може да се направи с помощта на подмодули, но всички препратки към подмодули изглежда имат всеки модул в различна директория.

Моят въпрос, възможно ли е да има няколко Git проекта, всички поместени в 1 директория, използвайки подмодули?


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


Отговори (2)


Не. Подмодулите не са предназначени да се използват за наслагване на репозиции.

Типичният начин да направите това е да създадете различни клонове за отделните разширения и след това да обедините всеки клон в главен клон, който представлява агрегирането на всички разширения.

person smparkes    schedule 27.01.2012

Начинът, по който разбрах как да направя това, е следният:

Клонирайте проект в root. След като заработи, преименувайте файла .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