Как управлять проектом, зависящим от другого проекта в Git?

#git #branching-and-merging

#git #ветвление и слияние

Вопрос:

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

Итак, по сути, у меня есть трехэтапный проект, который я пытаюсь легко обновлять:

  1. Я разрабатываю в CakePHP, который регулярно обновляется.

  2. Используя CakePHP, я разрабатываю систему, которую я назвал «Мобильный форт», которая в основном представляет собой полностью разработанную систему управления пользователями с несколькими другими функциями.

  3. Используя Mobile Fort, я разрабатываю несколько разных отдельных веб-сайтов.

Вопрос в том, как мне (если это возможно) использовать Git, чтобы обновлять мою установку CakePHP (CakePHP разрабатывается в Git) для Mobile Fort и обновлять мою установку Mobile Fort в различных отдельных проектах?

Большое вам спасибо!

Комментарии:

1. Я думаю, вы могли бы сделать это с вложенными репозиториями. Я думаю, вы могли бы сохранить один подраздел в качестве клона CakePHP. Таким образом, вы могли бы перенести CakePHP из CakePHP в свой клон, и у вас был бы up2date. Я думаю, что та же стратегия может быть использована для ваших отдельных проектов.

Ответ №1:

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

Ответ №2:

Основываясь на ответе Саймона и Темпуса, я провел дополнительные исследования и нашел отличную статью об использовании CakePHP в качестве подмодуля для достижения именно этой цели. Надеюсь, это будет полезно для других пользователей, использующих CakePHP и Git:

http://www.bravo-kernel.com/2010/03/cakephp-as-a-git-submodule/

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

Спасибо Саймону и Темпусу!