Слияние новых коммитов в старой ветке с dev

#git #version-control

#git #контроль версий

Вопрос:

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

master ----> c1 -> c2 -> …. r1 ->» src=»https://i.stack.imgur.com/htfp9.png»></a></p>
<p>У нас есть три ветки <code> master </code> <code> release 1 </code> и <code> release 2 </code> (имена не настоящие). Мы c1, c2, r1, c3, c4 и т. Д. Совершаем коммиты в главной ветке и соответствующие коммиты для других ветвей в шоу таким же образом. Нам пришлось внести изменения в ветку release 1, и мы сделали несколько коммитов в одной ветке, чтобы завершить эту функцию. Мы не хотим объединять эти изменения в главную ветку, что может быть лучшим способом? Я знаю об <code> cherry-pick </code> этом варианте, но поскольку коммитов так много, что это выглядит много работы, и есть вероятность пропустить некоторые из них. Есть <code> merge </code> ли такой вариант? Как я могу это выполнить?</p>
</div>
<h3><em>Ответ №1:</em></h3>
<div>
<p>Просто используйте git merge. Согласно <a rel=документации: https: //git-scm.com/docs/git-merge

введите описание изображения здесь

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

Итак, вы должны:

 git checkout master
git merge "release 1"
 

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