рабочий процесс git для (релиз + специальный коммит) и разработка ветки с веткой featureX - PullRequest
0 голосов
/ 02 июня 2018
  1. Я разветвил release ветку от develop ветви.
  2. Затем мне пришлось внести изменения в ветку release в последнюю минуту.
  3. Отмена не требуется при разработке, так как мы выпустим эту функцию в следующем выпуске.Итак, я не revert в develop.
  4. Разработчик X начал featureX ветку некоторое время назад с develop.
  5. Он сливает release в featureX исправления.
  6. Он сливается featureX в develop.
  7. Вуаля !!код сейчас не в 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 не может узнать об этом.(

1 Ответ

0 голосов
/ 03 июня 2018

Никогда не следует объединять исправления из выпуска в ветку функций.По моему мнению, исправления должны быть объединены только для разработки, а разработки могут быть объединены в функциональные ветки, чтобы поддерживать их актуальность.

Итак, чтобы решить вашу проблему, я бы сделал это так:

  1. Восстановление в последнюю минуту при выпуске - которое, по сути, является не чем иным, как исправлением.
  2. Объединение обратно для немедленной разработки, что приводит к временной потере кода.
  3. Восстановление последнегоминута возврата к разработке.
  4. Объединение разработки в функцию.
  5. Объединение функции в разработку.

Здесь не должно быть никаких изменений.Это работает, потому что вы восстанавливаете отозванные изменения при разработке до слияния с компонентом.

Это побочный эффект, что изменения не , представленные в выпуске , присутствуют в в функциичто было не так с вашими подходами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...