天天看點

Git分支管理

前言

本篇部落格,将介紹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,如需轉載請自行聯系原作者