Перебазировать ветку без родительской ветки - PullRequest
0 голосов
/ 25 июня 2019

Во-первых, я представляю, что это дубликат; Я предполагаю, что есть название для того, что я пытаюсь сделать, но я ничего не могу найти по этому поводу.

Представьте, что у меня есть коммиты:

a1 -- a2 -- b1 -- b2 -- c1 -- c2

Где a, b и c - ветви. Я пытаюсь получить историю так, чтобы она была:

     - b1 -- b2
   /
a1 -- a2 -- c1 -- c2

Но если я попытаюсь перебазировать c на a, я также получу b.

Есть ли хороший способ сделать это?

1 Ответ

4 голосов
/ 25 июня 2019

Это несколько шагов.Базовая операция - git rebase --onto <newbase> <oldbase> <tip> (где newbase и oldbase могут быть хэшем коммитов или именами ветвей, но tip должно быть именем ветки).

Я предполагаю, что у вас есть ветки b и c указывают на коммиты b2 и c2 соответственно.

  1. git rebase --onto a2 b2 c

    Результат:

              - b1 -- b2
            /
    a1 -- a2 -- c1 -- c2
    

    Обратите внимание, что b1 и b2 все еще не изменились, мне просто нужно было их визуально переместить.

  2. git rebase --onto a1 a2 b

    Результат:

        - b1 -- b2
      /
    a1 -- a2 -- c1 -- c2
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...