Применение диапазона коммитов из одной ветки в другую

у меня 2 ветки

a -- b -- c -- d -- e -- f -- g -- h     <-- master

a -- b -- c                              <-- Branch1
            

мне нужно применить коммиты e, f и g к Branch1

Пробовал с:

git rebase --onto gSha1 eSha1 hSha1 после оформления заказа на Branch1, и это не сработало (как сказано здесь)

пытался с git cherry-pick eSha1^..gSha1, но это тоже не сработало (как упоминалось здесь)

Можете ли вы быстро прояснить... ваша диаграмма предполагает, что в какой-то момент Branch1 был объединен с мастером. Так ли это? Или дело в том, что ваш Branch1 находится сразу за мастером? Имеют ли a, b, c и d одинаковые хэши коммитов? В этом случае на вашем графике не должно быть линии слияния от d до d.

JDB 10.12.2020 21:05

ветка 1 находится сразу за мастером. У них идентичные хэши коммитов. Они не объединены, я неправильно понял схему

William Brochensque junior 10.12.2020 21:14

Что значит применить? Что должно произойти с исходными e f и g? А ч?

matt 10.12.2020 22:09
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
10 116
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Если ты хочешь a -- b -- c -- e -- f -- g

От

                           E---F---G  master
                          /            
                         D
                        /
               A---B---C  Branch1
git rebase --onto branch1 dSha1 gSha1

дам тебе

                         E'--F'--G'  HEAD
                        /              
                       | D---E---F---G  master
                       |/
               A---B---C  Branch1

Затем установите Branch1 в HEAD:

git branch -f Branch1 HEAD
                         D---E---F---G  master
                        /
               A---B---C---E'--F'--G' Branch1

Альтернатива

Установите Branch1 в master и перебазируйте Branch1 при фиксации C без D:

git co Branch1
git reset --hard master
git rebase --onto cSha1 dSha1 Branch1

Если ты хочешь a -- b -- c -- d -- e -- f -- g (первый заданный вопрос)

переключиться на ветку 1

git checkout Branch1

затем установите Branch1 на g

git reset --hard gSha1

и вот ты вы можете нажать или продолжить

Применяется ли это к фиксации e, f и g из главной ветки в ветку 1?

William Brochensque junior 10.12.2020 21:21

Branch1 будет a -- b -- c -- d -- e -- f -- g есть история для применения коммита, просто установите Branch1 на коммит g. Вы можете видеть Branch1 как указатель или метку на g

Ôrel 10.12.2020 21:28

извините, я изменил свой вопрос

William Brochensque junior 10.12.2020 21:56

Оформить заказ branch1, а затем git cherry-pick e f g. Не используйте диапазон; который сжимает коммиты в один.

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