大型軟件項目開發中,多分支的使用不僅能夠並行開發多模塊任務,也避免了Bug修正時引入新功能代碼或是誤刪Bug代碼造成以修復問題重現,更清晰的‘組織’項目的開發。
新建的分支一般都屬於以下三個范疇內:發布分支(Bugfix分支)、特性分支和賣主分支。
在Ubuntu Server上安裝Git http://www.linuxidc.com/Linux/2009-06/20421.htm
服務器端Git倉庫的創建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm
Linux下Git簡單使用教程(以Android為例) http://www.linuxidc.com/Linux/2010-11/29883.htm
Git權威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm
發布分支主要用作對之前提交代碼的Bug修正,使修正過程和主線功能開發能夠並行開展。
特性分支主要用作將某個功能模塊和開發主線獨立出來,適合於開發周期長、實驗性功能等具有特定特性的功能模塊開發。
所謂賣主分支是在版本庫中專門創建一個和上游同步的分支,一旦有上游代碼發布就撿入到賣主分支中。
不管是何種分支,其操作過程無非一下步驟:
git branch <newbranch>
然後切換到新分支:
git checkout newbranch
git checkout –d newbranch
默認是從最新commit即HEAD指向提交創建branch,此種方式一般用作臨時分支,接受改動,並最終由master分支merge後刪除。
但是在bug修改或者新模塊開發等都需要從歷史提交創建branch,此時在上面語句之後加上commit id或對應的tag。
在這裡通過git rev-parse查看不同分支的指向是否相同。
而git cherry命令可用於查看當前領先於origin的提交。
在新分支上的開發任務(開發任務可以是bug修復或是新模塊開發)結束後,需要將新分支上的提交合並到主分支,這裡大致上可以分為三種情況:
首先新建分支並完成工作commit後切換到主分支master,在主分支中“合並”創建的分支。如下:
圖1
注意merge後要指明將合並分支的名稱。
圖6
首先切換到master分支,然後對需要合並到主分支的newbranch歷史提交執行揀選。
這種方式與方式(1)的不同之處是可以有選擇的合並newbranch的提交而不是全部merge。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104473p2.htm