2014-12-04 3 views
1

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

  • отдельных ветвей для различных частей моего приложения или
  • отдельных проектов Git.

Я также хочу использовать теги для ревизий; если я использую ветви, я должен пометить как branchnameV1.0, but if I use separate Git projects I could tag like v1.0`.

Что было бы самым обычным способом для этого?

ответ

4

Отдельные проекты Git: ветки интересны, если вы намерены объединить общий источник кода.

Но если ваши приложения независимы (в разработке, хотя они как-то связаны во время выполнения), git repo для каждого приложения будет работать лучше.
Это позволит каждому приложению следовать собственному жизненному циклу разработки с собственным набором тегов и ветвей.

Если вы хотите отслеживать, какие версии этих трех приложений в данный момент работают вместе, вы можете создать четвертое репо и register the first three as submodules.

3

Подумайте о ветвях как временных областях для разработки кода «Работа в процессе», который в конечном итоге будет объединен обратно в мастер.

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

0

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

0

Я думаю, что у вас есть следующие варианты:

  1. поместить код в различных Git репозитории.
  2. введите код в те же репозитории git, но в разных каталогах.

Я бы взял 1, если есть отдельные команды, и командам не нужно/им разрешено иметь доступ к другому коду, а приложения независимы (я лично предпочитаю этот подход, даже если они зависят). Я бы взял 2, если все вносят изменения во все коды приложений, и они должны быть вместе ВСЕГДА (это большая зависимость между приложениями).

Разветвление не является вариантом, так как разветвление - это то, что вы делаете с общим кодом. У вас есть код, который каким-то образом изменился (вы делаете ветку), а затем вы хотите объединить эти изменения в основной код (вы объединяете ветку).

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