Я пытаюсь определить правильный способ работы с несколькими ветками в Gerrit, который бы соответствовал нашему рабочему процессу.
Сейчас мы работаем с ветками так: у нас есть ветка master и feature. Мастер — это ветка, которую мы хотим отшлифовать и подготовить к выпуску, а фича — это, очевидно, область интенсивной работы. Теперь, в нашем конкретном случае, всякий раз, когда кто-то работает над исправлением ошибки, он:
- создать изменение, предназначенное для главной ветки
- вишневый выбор в целевое изменение функциональной ветки
- после завершения проверки кода gerrit отправьте оба изменения.
теперь, как я понимаю, выбор вишни, он выбирает отдельный коммит и объединяет его с текущим изменением. если это так, я ожидаю, что в конце не будет конфликтов слияния, и действительно, этот рабочий процесс отлично работает только с GIT. Геррит, однако, скорее всего, из-за своей природы (ветви не объединяются удаленно, как это происходит локально, и получают другой тег sha) в конце перечисляет огромное количество конфликтующих файлов.
Теперь я решил все эти проблемы, применив стратегию слияния (наша на фиче, их на мастере), но это кажется неправильным: если что-то не распространялось, оно просто отбрасывалось.
У меня такой вопрос: существует ли безопасный рабочий процесс, похожий на описанный выше, который в конце концов приведет к чистому слиянию с gerrit?