合并已发布的分支后git rebase?

时间:2014-09-22 09:26:54

标签: git merge rebase

我想使用rebase删除无意义的merge-commits。 与此同时,我希望在分支开发某些功能时保留分支历史记录。

基本上,

  • git rebase从远程开发分支拉到我的本地开发分支。 (使用git config branch.develop.rebase true
  • git merge在功能分支中合并到本地开发分支时。

我读过'不要修改已发布的提交',我担心如果我的用例违反了它。

假设以下场景。

origin / develop:

A - B - C

开发:

A - B 
     \ 
      D - E - F

featureA(已发布):

A - B
     \
      D
       \
        G - H 

现在,我将featureA合并到develop。

A - B
     \
      D - E - F - I
       \        /
        G - H -

然后,rebase发展(我猜D这里实际上是D',不确定E~我是E'〜我')

A - B - C
         \
          D - E - F - I
           \        /
            G - H -

现在令人费解的部分是,对已发布的功能A工作的人会怎么样?

A - B
     \
      D
       \
        G - H 
             \
              J

1 个答案:

答案 0 :(得分:0)

对于在推动后从远程获取的人将看到如下内容:

A - B - C
     \    \
      D    D' - E' - F' - I'(remote/develop, remote/feature)
       \    \             |
        \    G' - H' - - -
         \   
          G - H 
               \
                J(Feature)

可能不准确,但重点是,它会使历史复杂化!总而言之,为了增加更多的混淆,你发布后也会合并+ rebase!

永远不要那样做!