У нас есть кодовая база C в режиме обслуживания, которая поддерживает ряд особенностей сборки для данной архитектуры платы.

Мы запускаем разработку второго поколения продукта, в котором используется новая архитектура плат. Поколение 2 заменит поколение 1 (мы больше не производим платы Gen 1). Для поколения 2 потребуется полностью переписать хороший фрагмент кода. Я бы сказал, 50%. OTOH, есть код, который останется прежним. Делать сборку модульной для поддержки обоих типов нам не стоит. По сути, мы собираемся навсегда разделить проект на два продукта.

В настоящее время мы используем схему в нашем репозитории с ветвью master для производственных выпусков, ветвью testing, где мы накапливаем «благословенную» работу, и отдельными ветвями для различных единиц разработки.

Итак, мы могли:

  1. Создайте новый репозиторий git, скопируйте в него код из старого и начните смотреть, куда нас приведет будущее.
  2. Сохраните тот же репозиторий, но просто добавьте больше веток.

Плюсы / минусы, как я их вижу:

  1. Два репозитория
    • Плюсы: филиалы остаются простыми. Вынужден иметь репозиторий для каждого загруженного, если мне нужно сравнить
    • Минусы: нельзя выбрать одно из двух (хотя мы делаем это редко).
  2. Один репозиторий, разные ветки
    • Плюсы: весь код остается в одной ветке, возможно, можно использовать некоторые функции "перекрестной ветки" git.
    • Минусы: необходимо аннотировать главную и тестовую ветки для двух разных вещей, чтобы устранить неоднозначность.

Я ищу совета / опыта, который заставил бы одного пойти тем или иным путем.

1
Travis Griggs 14 Мар 2015 в 02:54

2 ответа

Лучший ответ

В конце концов, мы разделили репозиторий. Я разместил аналогичный вопрос на Programmers и получил действительно хорошие ответы есть.

1
Community 12 Апр 2017 в 07:31

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

Ваши ветки не будут очень сложными, просто добавьте к любым веткам и тегам поколения 1 такие префиксы.

  • gen1 / master
  • gen1 / тестирование
  • gen1 / some_feature
1
Schwern 14 Мар 2015 в 08:16