2010-05-13 3 views
3

Обычно, когда я запускаю новое приложение, я бы создал для него новый репозиторий git. Это хорошо принято и отлично играет с Github, когда я хочу поделиться своим кодом.Git + SoA, один репо или многие?

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

Вот что я вижу, как минусы делают отдельные репозитории:

  1. Я должен совершить дважды
  2. Я не могу correllate связаны не совершает очень хорошо
  3. Нет ни одного места, чтобы вернуться назад и проследить историю - Я хотел бы, чтобы быть в состоянии принести все мои фиксаций в течение дня в одном месте
  4. Забыть тянуть один репо или другой является Гоча

С другой стороны, я использовал perforce много, и в его одной гигантской модели репозитория также много бородавок. У Perforce есть функции, призванные помочь вам в этом, git - нет.

Кто-нибудь еще сталкивается с этой ситуацией? Как ты с этим справился? Что сработало хорошо, а что нет?

ответ

1

Если ваше другое репо является частью одного и того же глобального приложения, вы можете свести их вместе как submodules within a main project.
Оттуда вы можете:

  • совершить подмодуль только один раз в проекте P1 (если необходимо повторно использовать в другом проекте P2 подмодуль, вы идете в этом другом проекте P2, в подкаталоге реферирования сказал подмодуль вас только что совершил в P1, проверки, выделяющих, вернуться на один уровень вверх и совершить что другой проект P2, так как P2 должен ссылаться на то передай, что P1)

  • все связанные фиксаций ссылаются на главный проект

  • Проект «супер-главный» может ссылка всех ваших подмодулей там, для того, чтобы иметь, что «единое место, чтобы вернуться и проследить историю»

  • вам нужно всего лишь потянуть основной проект, и это будет тянуть правильные подмодули ссылки.

+0

Это может просто сделать трюк. Раньше я не слышал о подмодуле. Это (в основном) отдельные приложения Rails, которые взаимодействуют друг с другом через интерфейсы RESTful. В библиотеках клиентов хранятся драгоценные камни, которые могут использоваться различными приложениями. – edebill

Смежные вопросы