Использование git flow с git subtree

Я просто перенес большое репозиторий SVN в Git и начал использовать Gitflow. Это сработало как шарм, но сейчас я думаю о том, чтобы разделить этот большой репо на несколько меньших.

Давайте предположим, что дерево каталогов репо выглядит следующим образом:

/repo
  - libs
  - apps
    -- app 1
    -- app 2

И мы хотим разделить его на три репозитория, один с базовой структурой (каталоги libs и apps), а два других - с каталогами apps.

Если я буду использовать git поддерево для такого разделения, смогу ли я использовать git flow индивидуально в каждой части или мне придется использовать его глобально?

PS: это мой первый вопрос в stackru, будьте добры:)

1 ответ

Решение

Я не использую git flow, но я бы сказал, что ответ зависит от того, насколько вы модульны. Можете ли вы развернуть структуру ядра без развертывания app1 и app2? Можете ли вы развернуть app1 и app2 независимо друг от друга? Является ли ваша команда разработчиков достаточно большой и достаточно сложной, чтобы рассматривать их как независимые рабочие процессы?

Если ответ на эти вопросы "да", я бы поспорил, рассматривая их как несколько проектов, каждый с уникальным потоком. Однако, если ответ на любой из них "Нет", я бы не стал ломать ваш проект. Фактически, если изменения в app1 и app2 также требуют изменений в основном репозитории в большинстве случаев, я бы вообще не стал ломать ваши репозитории.

Вложенные репозитории, независимо от того, выполняются ли они с поддеревом, субмодулями или (божественным запретом) .gitignore по определению сделать рабочие процессы более сложными. Команды как git bisect а также git log стать чуть менее полезным; отслеживание истории и ошибок стало немного сложнее. Новым разработчикам нужно немного больше узнать, чтобы начать писать код. Из личного опыта: следуйте этому пути осторожно. Если ваши суб-репо сильно переплетены, вы вернетесь сюда через год и напишете этот ответ для кого-то, кто хочет сломать свой проект, например, в проблемной git-версии Pay It Forward.

Другие вопросы по тегам