1. 程式人生 > >巧用 git rebase 將某一部分 commit 復制到另一個分支

巧用 git rebase 將某一部分 commit 復制到另一個分支

cif 技術分享 res info devel strong afr branch start

一、為什麽需要將一個 commit 復制到其他分支上去呢?   在我們的實際開發的過程中,我們的項目中會存在多個分支。 在某些情況下,可能需要將某一個分支上的 commit 復制到另一個分支上去。

二、具體操作流程 技術分享圖片

就像這張圖所描述的這樣,將 develop 分支中的 C~E 部分復制到 master 分支中去。 這時我們就可以用 git rebase 命令來實現了。 目前 master 分支上只有一個 commit。 技術分享圖片

develop 分支上有四個 commit。 技術分享圖片
我們需要將最後三個 commit,復制到 master 分支上去。 ps: 命令說明
// startpoint 第一個 commit id, endpoint 最後一個 commit id,branchName 就是目標分支了。
$ git rebase [startpoint] [endpoint] --onto [branchName]
執行 git rebase 命令之後,我們發現當前的 HEAD 處於遊離狀態。 所以我們需要使用 git reset 命令,將 master 所指向的 commit id 設置為當前 HEAD 所指向的 commit id。 技術分享圖片

然後 git log 查看,這三個提交已經在 master 分支了。

技術分享圖片 三、總結   在這篇文章中,我們主要是使用了 git rebase 命令,來實現將一段 commit 復制到另一個分支的功能。 其實在實際項目版本控制當中,git rebase 還有很多方面的應用。我們以後再詳細的介紹。

巧用 git rebase 將某一部分 commit 復制到另一個分支