#github #version #branch #conflict #semantic-release
Вопрос:
Мы обслуживаем Node.js политика приложений и операционных ветвей на GitHub, такая как:
main
: База выпуска производственной средыdevelop
: База выпуска среды разработки (бета-версия)
В основном, мы пишем некоторый код для новой ветви из develop
ветви и объединяем его в develop
, а затем объединяем develop
в main
. В случаях исправления исправьте код в новой ветви из main
, а затем объедините его в develop
и main
.
Выпуск обрабатывается семантическим выпуском и автоматически изменяет package.json
файл и CHANGELOG.md
файл в конвейере CI/CD.
Это означает, что семантический релиз фиксируется в целевой ветви выпуска, и файл изменяется.
Итак, у нас есть проблема в приведенном ниже случае:
- Если в
develop
ветке произошли изменения, версия увеличивается как бета-версия. - Если в
main
ветке есть исправления, версия увеличивается. - При слиянии
main
вdevelop
происходящий конфликт.
Потому что файлы изменились и зафиксировали их одновременно.
Этот случай пытается отразить последнюю версию вdevelop
ветке.
Мы ожидаем того же явления при слиянииdevelop
вmain
.
Мы чувствуем трудности с устранением конфликта и беспокоимся о неправильном изменении, когда произошел этот случай.
Должны ли мы НЕ СЛИВАТЬ то main
в то develop
?
Мы хотим знать, как вы строите свой конвейер выпуска.
Спасибо.