перебазирование части несвязанной ветви - PullRequest
1 голос
/ 12 июля 2019

Я играю с синхронизацией git-p4. Это не работает, если я синхронизируюсь с диапазонами. В результате у меня появилась идея: синхронизировать в отдельную ветку и попытаться перебазировать ее в ранее синхронизированной ветке.

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

                  ==
prev sync: |A1 A2 A3|
new sync:        |B1 B2 B3|
                  ==
                  B1 == A3

что я хочу получить в конце

|A1 A2 A3 B2' B3'|

Есть идеи, как это сделать?

1 Ответ

1 голос
/ 12 июля 2019

Вы можете попробовать rebase --onto:

git checkout prev-sync
git rebase --onto pre-sync B1 new-sync

, который должен воспроизводить любой коммит после B1 до new-sync HEAD на prev-sync.

ОП Серж добавляет в комментарии :

Каким-то образом это вызывало неожиданные конфликты при создании файлов.

Так же поступил простой cherry-pick с параметрами --keep-empty --strategy-option=theirs, необходимый для полной автоматизации процесса.
Я также смог сделать это с git cherry-pick B1..new-sync с теми же дополнительными квалификаторами.

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