В настоящее время я много смотрю на git -flow и пытаюсь выяснить, как использовать его для проектов, в которых я участвую.
Я просмотрел различные учебники по git -flow, и я хорошо знаком с git. Следовательно, мне не нужны какие-либо подсказки только для git, но непосредственно в рабочем процессе с помощью git -flow.
Вот ситуация:
Когда я передаю версию (пусть ее называют 1.0), это разветкится, и это нормально. Скажем, теперь я начинаю работать над 2.0, добавляя новые функции. И, конечно, я хочу объединить их обратно, когда я закончу. Теперь исправление на 1.0 отлично, так что пусть также я произведу несколько версий 1.0.1, 1.0.2 и т.д. Все это также обновит ветку разработки, что тоже приятно. До сих пор сейчас хлопотно, я могу разработать функции для 2.0 и исправлений для 1.0.x независимо.
Однако скажем, кто-то просит новую функцию для выпуска версии 1.1. Теперь у меня проблема. Если я создаю ветвь функции, это будет основано на ветке разработки, которая может содержать уже 2.0 вещи, которые я, возможно, не захочу в этом выпуске 1.1.
Есть ли простой способ, чтобы обрабатывать эти версии 2.0 и 1.1 независимо?
Уже есть несколько возможностей:
-
создайте новую ветку в последней позиции релиза при разработке. Восстановите развитие на этой позиции и переименуйте другую развитую ветвь. Однако тогда эта ветка не будет содержать никаких исправлений от 1.0.1 и т.д.
-
Не объединять обратно функции для 2.0 до 2.0. Однако тогда мне пришлось бы оставить много невредимых изменений до последнего момента. Кроме того, это не помогает, если 2.0 освобождается и после этого исправляются изменения 1.0.x.
Возможно ли это вообще с потоком git? То есть основывая выпуски на более раннем выпуске после того, как работа над новой версией была запущена или даже закончена?