鍍金池/ 問答/Linux/ 如何使用git rebase合并分支?

如何使用git rebase合并分支?

git merge和git rebase都可以用來合并分支,merge是將commit合并后生成一個新的commit

git rebase的操作也是合并,比如我想將A分支合并到master分支上,用merge操作是這樣:
先切換到master分支:執(zhí)行g(shù)it merge A
用rebase是這樣:
先切換到A分支:執(zhí)行g(shù)it rebase master,此操作是改變A分支commit基點連接在master的末端。然后再切換到master分支 執(zhí)行g(shù)it merge A。然后git log后看到的commit記錄都是在一條線上的,不會分叉。

有大神說在執(zhí)行rebase的時候不要在master分支上執(zhí)行,因為會造成commit的丟失,但是我在A分支上執(zhí)行rebase后還是要到master上執(zhí)行一個merge操作,這樣豈不是相對于merge又多了一步?只是為了查看log記錄好看一點么?

可能問題表述的不是很好,請大神指點一下rebase的操作?。?!

回答
編輯回答
眼雜

我的理解是這樣的:

  1. 從 master 拉出 A 分支
  2. 在 A 上開發(fā) 提交多個 commit ;
  3. 當(dāng) master 有新 commit 的時候 在 A 中用 rebase 把 master 新 commit 合過來, 并且保證在 A 新增的commit 會排在 log 的最后 , 這個操作在 A 的開發(fā)階段可以使用多次.
  4. A 開發(fā)完成, 在 master 上用 mergin 合并 A, 不會自動產(chǎn)生合并分支的 'commit'
2018年6月6日 17:21