您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux系統中如何使用Git分支協同開發,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
發布分支主要用作對之前提交代碼的Bug修正,使修正過程和主線功能開發能夠并行開展。
特性分支主要用作將某個功能模塊和開發主線獨立出來,適合于開發周期長、實驗性功能等具有特定特性的功能模塊開發。
所謂賣主分支是在版本庫中專門創建一個和上游同步的分支,一旦有上游代碼發布就撿入到賣主分支中。
不管是何種分支,其操作過程無非一下步驟:
git branch
然后切換到新分支:
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,在主分支中“合并”創建的分支。如下:
注意merge后要指明將合并分支的名稱。
首先切換到master分支,然后對需要合并到主分支的newbranch歷史提交執行揀選。
這種方式與方式(1)的不同之處是可以有選擇的合并newbranch的提交而不是全部merge。
變基。使用變基操作,可以使分支的合并更清晰,審核更方便。操作:
在這里為了模擬master分支的改變我做了兩次空提交,然后切換到newbranch執行rebase,此處的rebase操作相當于:
i)強制重置到master分支的提交
ii)將newbranch上的提交一一揀選到重置后的分支上。
在rebase之后還使用newbranch分支更新了遠程版本庫的master分支。通過rev-parse可以查看二者現在已經在一個提交上。
在分支使用中,某一用戶新建的分支可能會被其它用戶使用到,如bug修復分支,可能會有多人需要工作在此分支上,那么在新建分支后,需要將此分支Push到遠程版本庫,以便其它用戶能夠pull到本地使用。
并且,在其它成員將branch pull到本地時不能直接checkout此分支,而是基于此分支創建新分支,如:
現在執行修改后提交發現問題:
問題是你本來的目的是想和其它成員在同一branch上協同工作,但是現在你創建了和協同branch不一致的分支,并且在遠程版本庫中并無此分支(如果有的話也達不到在同一分支協同的目的),解決方式是:首先將本地分支修改為協同分支名稱然后在提交:
有時需要將本地分支進行備份,那么可以將分支推送到遠程版本庫。
git push origin
對于沒有推送到遠程版本庫的分支,直接使用
git branch –d
刪除,對于已經推送的則若需要將遠程分支一并刪除,在上述方式后使用:
git push origin :
關于“Linux系統中如何使用Git分支協同開發”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。