git 变基在哪里进行更改



git 文档对此还不够清楚,但互联网上的每个人似乎都知道这一点。

比如说,我目前在一个名为 feature/test 的功能分支上。如果我做git rebase master,变基在哪里进行?在功能分支上还是在主分支上?即。哪一个正在改变?它是否具有与更改当前分支的方式git merge相同的语法?在这种情况下,我是否必须返回master并与我的功能分支进行合并?

编辑:我想做的是将master分支"合并"(在本例中为变基)到我的功能分支中,然后将功能分支"合并"回master。

由于您将feature/test重新基于master因此feature/test分支已更改。 例如

           master
           |
           V
A----B-----C
      
       D----E
            ^
            |
            feature/test

做完之后

git checkout feature/test
git rebase master

您的存储库将如下所示

            master
            |
            V
 A----B-----C----D'----E'
                       ^
                       |
                       feature/test

请注意,D' != D ,因为它现在有了新的父级。然而,它包含相同的更改。

编辑:

我将如何将功能/测试的更改带回主数据库?

由于feature/test与主 git 一致,因此只会快进主分支。

git checkout master
git merge feature/test

将导致

                       master
                       |
                       V
 A----B-----C----D'----E'
                       ^
                       |
                       feature/test

有关详细信息,请参阅 Git 分支-基本分支和合并

最新更新