`cherry-pick` все коммиты из ветки - PullRequest
0 голосов
/ 26 января 2020

У меня есть следующее состояние хранилища:

enter image description here

Я начал работать над feature 1 (feature ветвь), затем я перешел на another_feature, addition и addition2, которые были объединены в master.

Теперь я вернулся к feature и понимаю, что мой feature не может работать без addition. Что мне нужно сделать в этом случае?

Я не могу использовать merge, потому что в этом случае у меня будет another_feature в feature:

git checkout feature
git merge addition

Я могу использовать и он прекрасно работает:

git checkout feature
git cherry-pick 9040

Но очень неудобно, если у меня слишком много коммитов в ветке addition. Как я могу cherry-pick все коммиты из одной ветки и только из этой ветки?

И в этом случае у меня будет 9040 -коммит дважды в моем master после слияния feature. Может быть, есть лучший способ внести изменения из ветки addition в ветку feature?

Добавление : после коммита feature 1 я создал Pull Request и мы начинаем обсудить это. Очень нежелательно закрывать этот PR и открывать новый.

1 Ответ

0 голосов
/ 26 января 2020

То, что вы ищете, это rebase . Перебазирование перемещает текущую ветвь из текущего базового коммита в новый базовый коммит, чтобы убедиться, что вся проделанная до сих пор работа будет добавлена ​​в историю, но начиная с другого момента времени.

Предположим, это ваш history

a -> b -> c : master
  \>d : feature

Тогда перебазирование функции на мастер будет выглядеть так 1011 *

Помните, что это нелегко, если основная ветвь продвинулась долго и вам, возможно, придется исправлять конфликты слияния!

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