Подтвердить что ты не робот

Git: переместить определенные фиксации в другую ветку

A имеют репозиторий с двумя ветвями.

Мастер-ветвь совершает:

c1, c2, c3, c4, c5, c6, c7,..., c15,...

Консоль отправления совершает:

c1, c2, c3, c4, c5, c6, c7

Я хочу переместить все фиксации из ветки мастера после c7 в промежуточную ветку

а затем верните ветвь мастера

с

git reset --hard c7-hash

Как переместить/скопировать определенные коммиты из одной ветки в другую?

4b9b3361

Ответ 1

В описанном вами случае, когда все фиксации на промежуточной ветке также находятся на главной ветке, это очень просто:

git checkout staging
git merge master
git checkout master
git reset --hard c7-hash

Слияние будет быстрой перемоткой вперед.

В общем случае вы можете использовать git cherry-pick c8 c9 c10 c11 c12 c13 c14 c15 для вишни выбрать отдельные фиксации для текущей ветки. Более короткий путь к вишне выбрать все коммиты, которые находятся на главном, но не текущая ветвь git cherry-pick ..master, и есть другие примеры, показанные git help cherry-pick