Практическое правило заключается в том, что вы используете теги для вещей, которые никогда не изменятся (например, версия 1.0.0 всегда указывает на один и тот же коммит), и используете ветки для вещей, которые меняются (например, «последняя» версия).
Поэтому я бы рекомендовал, чтобы текущая версия, развернутая в QA2, была обозначена git branch QA2
и перемещена соответствующим образом, добавив -f
к команде. Нет необходимости выполнять сложные слияния, если вы просто используете его как «подвижный тег».
Временами, когда вы захотите выполнять слияния, а не просто перемещать ветку, это если вам нужно сохранить историческую последовательность того, что было развернуто в прошлом. В течение короткого времени вы можете использовать QA2@{1}
, QA2@{2}
и т. Д., Но в конечном итоге они стираются git gc
.
Кроме того, имейте в виду, что слияние в git на порядок менее болезненно, чем то, к чему вы, вероятно, привыкли. Возможно, вы захотите попробовать эти модели, прежде чем отклонить их как слишком сложные.