Я не мог найти ничего, что "правильный" подход для управления релизами с помощью git. Скажем, у меня есть мастер, релиз-1, релиз-2 и релиз-3. Выпуск 1 уже выпущен, и я делаю только исправление ошибок и выпущенных версий. Релиз 2 скоро выйдет, и я развиваюсь в основном на этой ветке, а на 3 я разрабатываю вещи, которые понадобятся в будущем.
-
Когда я добавляю некоторую функцию в release-2, и она должна идти и до 3, но не до 1, я должен:
- merge release-2 для овладения и зависания, связанного с фиксацией, для release-3?
- Функция завивки вишни, связанная с фиксацией, чтобы овладеть, а не вишней, выбрать ее для выпуска-3?
- sth else?
-
Когда мне нужно изменить sth во всех версиях, должен ли я делать это на master и cherry-pick на всех ветвях?
-
Должен ли я держать мастер в курсе новейшей (ветка релиза-3) или, скорее, разработчика на выпуск-3 и сливаться с мастером, прежде чем мне понадобится ветка release-4?
-
Когда я исправляю sth на release-1 или release-2, должен ли я объединиться или вишнево-выбрать его для освоения или, скорее,?
Я не совсем уверен, когда я должен выбрать cherry-pick, когда мне нужно объединиться, и если поток кода между ветвями будет правильным.