Проблемы с нашим потоком в git (от функции к производству) - PullRequest
1 голос
/ 25 февраля 2020

У нас есть некоторые проблемы с нашим потоком git. У нас есть настроенная версия GitLab Flow. Я опишу это ниже:

Ветви:

  • ветви функций
  • подготовка
  • мастер
  • производство

Среды:

  • Разработка . Разработчик работает над своей средой с новыми функциями
  • Тестирование . Тестовая / демонстрационная среда, в которой можно щелкнуть и проверить проблему, прежде чем приступить к производству. Использует промежуточную ветку
  • Производство . Использует производственную ветвь.

Шаги:

  1. Разработчик извлекает новую ветвь функций из главной ветви.
  2. Когда разработчик готов, он делает запрос на слияние с промежуточной веткой. Другой разработчик просматривает код и сливается с подготовкой, если код в порядке.
  3. Когда при тестировании env тестируется одна или несколько функций, мы объединяем каждую ветвь функций с master. После этого мы объединяем основной филиал с производственным филиалом.

Мы производим тег git из производственной ветви при создании рабочей версии. Мы делаем тег git из промежуточной ветви при создании тестовой версии.

Проблемы заключаются в следующем:

Когда кто-то делает новый запрос на слияние в промежуточную ветку после выпуск (когда коммиты были объединены с мастером). GitLab показывает коммиты из ожидаемой ветви функций И ​​все коммиты, которые были объединены с мастером (потому что эта новая ветка функций была извлечена из мастера). Это очень затрудняет анализ кода этой функции.

Мы решили эту проблему путем объединения основной ветки с промежуточной ветвью после каждой рабочей версии (даже если коммиты уже должны быть в промежуточной ветке). Если мы это сделаем, обзор кода работает нормально. Но теперь, когда мы пытаемся сделать автоматический журнал изменений, используя команду git log.

Как это:

Для тестирования env: git log --pretty=oneline --no-merges testing-1.0.34..testing-1.0.35

Для производства env: git log --pretty=oneline --no-merges release-1.0.12..release-1.0.13

Работает нормально для производства env (просто нужно удалить несколько дубликатов и тому подобное). Но чтобы сделать журнал изменений для тестирования, мы получаем все коммиты из новой функции И все коммиты из «перезагрузки» (мастер-сценарий слияния).

Как мы можем улучшить наш поток? Я подозреваю, что «сброс» (слияние мастера с этапом) не должен быть необходим, потому что этапирование уже имеет те изменения, которые мы теперь объединяем снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...