У нас є кілька модулів, де ми це зробили, і що ми по суті зробили:
- Налаштуйте модуль Git repo для модуля.
- Розгорніть цей модуль у кодовій базі виробничого сайту та виконайте все, включаючи:
- софт-посилання, створені модменом
- каталог .modman, в якому знаходиться сховище клонованого модуля
- Використовуйте модман для "розгортання" його в інших версіях та / або середовищі розробників для розробників та тестування.
Таким чином ви отримуєте гнучкість, необхідну для розробки модулів, версій коду на одному сайті, і якщо ви внесете зміни в модуль в кодовій базі одного сайту, ви можете скористатись ними прямо в сховищі модулів, оскільки РЕПО є в каталозі .modman.
ОНОВЛЕННЯ:
Коли я спочатку писав це, я не взяв до уваги у своїй відповіді, що Git не дозволяє (під) модулі залучатись до сховища, і в такому випадку "фіксація всього" потребує певної розробки!
Між іншим, це тому, що я це робив частіше, використовуючи модем для розгортання модулів, розміщених у Git repos, у виробничу кодову базу даних SVN ... і в Subversion немає жодних скрупульозних перешкод, щоб вона не зафіксувала все дерево Git до VCS.
Тож ось іде…
Якщо ви використовуєте SVN для розміщення коду виробничого сайту, у вас не повинно виникнути проблем, оскільки Subversion практично не має поняття підмодулів. Це не буде проти.
Якщо ви використовуєте Git для коду виробничого сайту, вам доведеться використовувати підмодулі, щоб "зробити все" для сховища коду сайту. Після використання модмена для клонування чогось подібного:
modman clone ssh://git@bitbucket.org/<user>/<repo>.git
Ви також захочете додати його як підмодуль так:
git submodule add ssh://git@bitbucket.org/<user>/<repo>.git .modman/<repo>
Після цього ви маєте змогу додати до індексу каталог .modman та файл .gitmodules і зробити його.
Після клонування сховища, яке використовує ці модулі, встановлені через modman, просто введіть підмодулі та оновіть:
git submodule init
git submodule update
PS Зараз я використовую Git повний робочий день для всіх нових проектів, тому, сподіваємось, цей нагляд не повториться. Вибачте, хлопці. ;)