如何在保留合并历史记录的同时将上游分支重新建立基础以进行管理?

时间:2019-07-17 07:40:56

标签: git rebase

鉴于上游要素分支是首先创建并从master分支出来的,因此其他分支一直在合并其更改。现在,由于其他重要功能(该功能分支也需要此功能)而对母版进行了更新,如何在保留所有历史记录的同时,将该上游功能分支重新设置为最新的母版头?

例如

        ----  changes merged to feature
       /    \
      +------+---- feature
     /
----+---- master

现在

        ----  changes merged to feature
       /    \
      +------+---- feature
     /
----+----+------+---- master
          \    /
           ---- other features merged to master

想要重新设置基础,以便不会丢失对功能分支的更改历史记录

                    ----  changes merged to feature
                   /    \
                  +------+---- feature
                 /
---------+------+---- master
          \    /
           ---- other features merged to master

1 个答案:

答案 0 :(得分:2)

验证您具有git> = 2.19(最好使用2.22)并执行以下操作:

git checkout feature
git rebase --rebase-merges master

一个来源:https://www.infoq.com/news/2019/07/git-2-22-rebase-merges/