前言
本篇部落格,将介紹GIT分支管理方面的知識,并結合在公司的實踐經驗,與大家分享GIT的那些事。如果你還對GIT不清楚,請檢視部落客以前關于GIT的2篇入門部落格:
<a href="http://zhangfengzhe.blog.51cto.com/8855103/1720049" target="_blank">《Hello , Git》</a>
<a href="http://zhangfengzhe.blog.51cto.com/8855103/1722466" target="_blank">《深入Git》</a>
實踐
在實際開發中,我們利用GIT進行多人協作開發,那麼一般是這樣的,我們會有且僅有一個分支:master,master這個分支就是線上釋出的分支。接下來我們每個人将會從master出發建立自己的分支function_xxx進行功能開發。開發完畢後,我們将function_xxx分支送出到dev分支進行測試,如果測試通過,那麼我們在将測試通過部分的function_xxx合并到主幹master,即完成上線。
那麼接下來,我來模拟這個過程,為了友善,我在自己的GITHUB上建立了HelloWorld項目。
有圖有真相:
<a href="http://s3.51cto.com/wyfs02/M00/83/F5/wKioL1eBxlvxW2hTAACXDOqkw48531.png" target="_blank"></a>
檢視本地分支和遠端分支的情況:
<a href="http://s4.51cto.com/wyfs02/M00/83/F6/wKiom1eBxvCAbih1AAA_nAjyWfI730.png" target="_blank"></a>
需要注意的是,遠端分支的建立是通過本地分支push到遠端産生的。
Step 1 : 拉取最新的master到本地
<a href="http://s1.51cto.com/wyfs02/M01/83/F6/wKiom1eByMmgXTTzAAAKh3sSSu4917.png" target="_blank"></a>
<a href="http://s2.51cto.com/wyfs02/M02/83/F6/wKiom1eByQOCdT3sAAAxtCZtHOA269.png" target="_blank"></a>
Step 2 : 從master建立自己的分支進行功能開發
<a href="http://s5.51cto.com/wyfs02/M00/83/F5/wKioL1eByYyA8qlAAABegfUZko0367.png" target="_blank"></a>
我們建立了本地分支,并切換到它上面了,需要注意的是,遠端并不存在,因為并沒有push。
功能開發完畢後,我們進行送出:
<a href="http://s5.51cto.com/wyfs02/M02/83/F6/wKiom1eByy_hi9mIAAAKl6Qj7o0686.png" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/83/F6/wKiom1eBy3zj1WW7AACPQAF-6Ws509.png" target="_blank"></a>
我們再來看看:
<a href="http://s5.51cto.com/wyfs02/M01/83/F5/wKioL1eBy76wDKKhAABd4NqPtn0569.png" target="_blank"></a>
Step 3 : 将function分支合并到dev進行測試,如果通過測試,那麼将function分支合并到master
<a href="http://s2.51cto.com/wyfs02/M01/83/F6/wKiom1eBzI3jnltMAADLoFgjxKA652.png" target="_blank"></a>
<a href="http://s4.51cto.com/wyfs02/M02/83/F5/wKioL1eBzLvgBUeiAABJxbf3hnU040.png" target="_blank"></a>
其他說明:
我們不僅僅可以通過git push來建立遠端分支,還可以删除遠端分支【特别注意空格】:
git push origin :function_tmp
另外當我們需要拉取特定遠端分支到本地時,可以使用:
git checkout -b dev origin/dev
本文轉自zfz_linux_boy 51CTO部落格,原文連結:http://blog.51cto.com/zhangfengzhe/1813932,如需轉載請自行聯系原作者