Когда git-rebase потерпит неудачу с функцией ветвей функций? - PullRequest
1 голос
/ 16 июня 2019

У меня есть такая структура веток git:

a-b-c             <---master
   \
    \d-e-f        <--feature1
        \
         \g-h-i   <--feature1_1

Мне нужна возможность перебазировать feature1 на master, чтобы получить исправления и другие функции, а на feature1_1 Мне нужна возможность получить исправленияи функции от master и получить bugfixes от feature1_1 тоже.

Можно объединить feature1 в master до готовности feature1_1.

Могут ли быть проблемы с перебазированием (странные конфликты слияний и т. Д.), И если да, на что мне обратить внимание?

1 Ответ

1 голос
/ 16 июня 2019

Если вы выполните ребазинг feature1, воспользуйтесь недавним (Git 2.18, Q2 2018) git rebase --preserve-merges

Это будет перебазировать все (вместо только feature1, из-за чего feature1_1 останется присоединенным к «фантомному» старому пре-ребазу feature1):

Хорошо:

a-b-c             <---master
     \
      \d'-e'-f'        <--feature1 rebased
           \
            \g'-h'-i'   <--feature1_1, also rebased!

Но обратите внимание на потенциальные конфликты.

Плохо (используется rebase без --preserve-merges)

      /d'-e'-f'   <-- feature1 rebased (alone)
     /
a-b-c             <---master
   \
    \d-e          <-- partial old feature1 commits
        \
         \g-h-i   <--feature1_1, not rebased
...