Как объединить ветку с уже выпущенным кодом? - PullRequest
2 голосов
/ 11 июня 2019

У меня есть исправление, которое необходимо применить к уже выпущенному коду. Я могу добраться до мастера релиза, но когда я пытаюсь объединить ветку, GitHub автоматически меняет ветку по умолчанию на master. Я не уверен, как это сделать из GitHub UI. Может кто-нибудь помочь?

Что я пытаюсь сделать:

  1. У меня есть релиз

enter image description here

  1. Я сделал исправление, но мой текущий мастер намного опередил выпуск Test12. Мне нужно добавить только это исправление в выпуск Test12.

1 Ответ

2 голосов
/ 11 июня 2019

Во-первых, вы не хотите добавить их в выпуск Test12, вы хотите создать новый выпуск. После того, как вы выпустили код, вы не должны его менять, потому что это создаст ситуацию, в которой у вас будет другой код под одним и тем же именем, что просто создаст путаницу. Если Test12 становится абсолютно неактуальным после выпуска следующего, и вы не хотите, чтобы люди использовали его (полностью испорченный, уязвимость в системе безопасности и т. Д.), Вы можете просто удалить этот выпуск.

Из вашего текста звучит так, будто у вас есть только одна ветвь, master.

Быстрое решение для выпуска вашего исправления может быть:

  1. Вернитесь к коммиту, который соответствует вашему выпуску, и создайте новую ветвь на его основе (которая будет иметь связанный тег, который на вашем скриншоте называется "1") git checkout -b hotfix-branch 1
  2. Cherry-выберите ваше исправление с master с git cherry-pick <commit of hotfix>
  3. Создать новый тег в этой ветке git tag -a 1.0.1 -m "Hotfix for issue..."
  4. Создать новую версию из этого тега.

Примечания рабочего процесса:

Я заметил, что ваша версия - только одно число. Вы должны проверить семантическое управление версиями , наиболее часто используемую систему с тремя десятичными версиями, которая использует каждое число для передачи определенного значения, в основном обратной совместимости.

Если мое предположение было верным, и у вас есть только одна ветвь, вам также следует проверить git flow , наиболее часто используемый рабочий процесс для облегчения выполнения таких задач, как выпуск исправлений.

...