- Я разветвил
release
ветку от develop
ветви. - Затем мне пришлось внести изменения в ветку
release
в последнюю минуту. - Отмена не требуется при разработке, так как мы выпустим эту функцию в следующем выпуске.Итак, я не
revert
в develop
. - Разработчик X начал
featureX
ветку некоторое время назад с develop
. - Он сливает
release
в featureX
исправления. - Он сливается
featureX
в develop
. - Вуаля !!код сейчас не в
develop
.Помните, согласно (3) это не было преднамеренным.
Как мы исправим этот рабочий процесс?
Что я попробовал:
a) Я сделал revert + revert's revert
в develop
.Но когда featureX
объединено в develop
, я все еще вижу потерю кода.
b) Я сначала объединил revert + revert's revert + develop
в featureX
, а затем featureX
в develop
.Я все еще вижу потерю кода.
Каков правильный подход?
Из документации Git по слиянию:
Then "git merge topic" will replay the changes made on the topic branch since it diverged from master (i.e., E) until its current commit (C) on top of master, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
Поскольку мой revert
в develop
идентификатор фиксации отличался от revert
в release
, git не может узнать об этом.(