Как объединить ветку с уже выпущенным кодом?

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

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

  1. у меня релиз

Как объединить ветку с уже выпущенным кодом?

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

К сожалению, ваш вопрос не ясен. Прочтите Как спросить. Может скриншот поможет? Также прочитайте Почему "Кто-нибудь может мне помочь?" не актуальный вопрос?

Chris 11.06.2019 15:10

@ Крис, это помогает? отредактировал мой вопрос

django-unchained 11.06.2019 17:30

у тебя есть тег? если это так, проверьте это. это также зависит от вашего шаблона выпуска.

Daniel A. White 11.06.2019 17:30
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Судя по вашему тексту, у вас всего одна ветка, master.

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

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

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

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

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

Спасибо за Ваш ответ. Я не думаю, что мы можем создать ветку из тега в пользовательском интерфейсе GitHub. Я пытаюсь создать пул реквест из тега, но он говорит, что сравнивать не с чем, потому что текущий мастер имеет изменения по сравнению с предыдущим выпуском (тег 1)

django-unchained 12.06.2019 16:27

@django-unchained Вы можете создать ветку из любой «фиксации», которая является либо другой веткой (т. Е. HEAD этой ветки), либо фиксацией, либо тегом, которые являются просто указателями на фиксацию. Пример выше с «1» — это тег для этого коммита. Если у вас есть дополнительные проблемы со сравнением, вы можете задать другой вопрос с этими деталями. Если репозиторий является общедоступным, вы также можете дать прямую ссылку на репо, чтобы мы могли видеть.

msanford 12.06.2019 16:30

Другие вопросы по теме