Мы используем рабочий процесс Git от Vincent Driessen, 2 долгоживущие ветки. мастер/разраб. Мы считаем, что нам нужны 2 долгоживущие ветки вместо одной в потоке github, потому что мы работаем на предприятии ( 2Б) бизнес. Наш клиент предпочитает стабильный продукт нашим новейшим функциям.
После каждого релиза (слияние dev с master) наша тестовая команда выявляет пару ошибок, которые нам нужно исправить в следующем релизе, а затем мы исправляем их в ветке dev. Новые функции, которые мы разрабатываем, также объединяются в ветку разработки. Ветки исправления ошибок и ветки функций будут удалены после их слияния с dev.
Но вдруг команда поддержки клиентов получает гневный звонок от клиента и говорит нам, что нам нужно конкретное исправление ошибки/функция, чтобы продукт был быстро добавлен. Эта ситуация прерывает наш обычный рабочий процесс и вводит вопрос, который я задаю.
Поскольку изменения в коде, которые нужны нашим клиентам, уже находятся в ветке разработки, мы выбираем нужные коммиты в основную (хотя мы полностью осведомлены о проблема, которую создаст вишневый выбор). Вишневый выбор кажется единственным вариантом здесь.
Но мы всегда хотим убедиться, что главная ветка является базовой для всех остальных веток, после этого мы всегда делаем слияние из основной ветки в ветку разработки. Слияние обычно не приводит к изменению кода в ветке разработки, а просто показывает дерево веток всем, что мастер является корнем.
Я знаю, что могу перебазировать ветку dev на master, чтобы избежать этого слияния. Но rebase также не идеален по нескольким причинам (я не перечислил их здесь, чтобы не уводить свой вопрос в сторону)
Итак, есть ли другой способ убедиться, что master является корнем всего, а также избежать дублированного/пустого слияния?
master
, где вы исправляете ошибки, а затем сливаетесь обратно с веткойmaster
. - person Tim Biegeleisen   schedule 09.12.2020master
источником истины для других ветвей, а это именно то, что вам действительно нужно. - person Tim Biegeleisen   schedule 09.12.2020:-)
- person Tim Biegeleisen   schedule 09.12.2020