《Git 分支的創(chuàng)建、合并、管理和刪除》要點(diǎn):
本文介紹了Git 分支的創(chuàng)建、合并、管理和刪除,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
幾乎每一種版本控制系統(tǒng)都以某種形式支持分支.使用分支意味著你可以從開(kāi)發(fā)主線上分離開(kāi)來(lái),然后在不影響主線的同時(shí)繼續(xù)工作.在很多版本控制系統(tǒng)中,這是個(gè)昂貴的過(guò)程,常常必要?jiǎng)?chuàng)建一個(gè)源代碼目錄的完整副本,對(duì)大型項(xiàng)目來(lái)說(shuō)會(huì)花費(fèi)很長(zhǎng)時(shí)間.
有人把 Git 的分支模型稱為“必殺技特性”,而正是因?yàn)樗?將 Git 從版本控制系統(tǒng)家族里區(qū)分出來(lái).Git 有何特別之處呢?Git 的分支可謂是難以置信的輕量級(jí),它的新建操作幾乎可以在瞬間完成,而且在不同分支間切換起來(lái)也差不多一樣快.和許多其他版本控制系統(tǒng)不同,Git 鼓勵(lì)在工作流程中頻繁使用分支與合并,哪怕一天之內(nèi)進(jìn)行許多次都沒(méi)有關(guān)系.理解分支的概念并熟練運(yùn)用后,你才會(huì)意識(shí)到為什么 Git 是一個(gè)如此強(qiáng)大而獨(dú)特的工具,并從此真正改變你的開(kāi)發(fā)方式.
如果想實(shí)現(xiàn)多人協(xié)作、劃出Bug區(qū)、Feature區(qū)等功能,就必要分支功能.(確實(shí)很強(qiáng)大的地方)
每次commit
時(shí),Git都把它們串成一條時(shí)間線,這條時(shí)間線便是一個(gè)分支.截止到目前,只有一條時(shí)間線,在Git里,這個(gè)分支叫主分支,即master
分支.而此時(shí)HEAD
也指向master
.
每次提交,master
分支都會(huì)向前移動(dòng)一步,這樣,隨著你賡續(xù)提交,master
分支的線也越來(lái)越長(zhǎng).
當(dāng)我們創(chuàng)立新的分支dev
的時(shí)候,將HEAD
指向dev
,這時(shí)候就在dev
分支上了.
創(chuàng)立分支:git branch 分支名字
進(jìn)入分支:git checkout 分支名字
創(chuàng)建而且進(jìn)入分支:git checkout -b 分支名字
假如想查看當(dāng)前在哪個(gè)分支:git branch
如果在dev
分支下提交一張照片,此時(shí),工作區(qū)是有照片的(在文件夾查看).然后切換到master
分支,會(huì)發(fā)現(xiàn)當(dāng)?shù)氐墓ぷ鲄^(qū)被刷新了一下,然后圖片不見(jiàn)了.在命令行ls
查看文件列表也沒(méi)有圖片(如截圖所示).此時(shí),需要將dev
分支合并到master
分支.
合并分支:git merge 分支名字
.將分支合并到當(dāng)前分支.這時(shí)可以發(fā)現(xiàn),照片呈現(xiàn)了.(附截圖)
注意到上面的Fast-forward信息,Git告訴我們,這次合并是“快進(jìn)模式”,也便是直接把master
指向dev
的當(dāng)前提交,所以合并速度非常快.當(dāng)然,也不是每次合并都能Fast-forward.
如果加上--no-ff
參數(shù)就是普通合并模式.這樣就保存了歷史信息.
如果兩個(gè)或多個(gè)分支對(duì)同一文件作出不同的操作,合并的時(shí)候就會(huì)有沖突.
如下面截圖先在dev
中修改txt,再在master
中作出不同的修改.
此時(shí),git merge dev
就會(huì)報(bào)錯(cuò),提醒有沖突,需要手動(dòng)辦理
當(dāng)然,也可以通過(guò)git status
查看,會(huì)發(fā)現(xiàn)both modified
的錯(cuò)誤提示.或者cat temp.txt
,分歧分支的修改的分歧之處被標(biāo)注了出來(lái).
在當(dāng)前分支修改文件內(nèi)容并且再次提交修改,即可以辦理沖突.
一條敕令:git branch -d 分支名字
即可刪除
如果分支還未歸并到當(dāng)前分支:git branch -D 分支名字
強(qiáng)制刪除.
在實(shí)際開(kāi)發(fā)中,我們應(yīng)該依照幾個(gè)基本原則進(jìn)行分支管理:
首先,master
分支應(yīng)該是非常穩(wěn)定的,也便是僅用來(lái)發(fā)布新版本,平時(shí)不能在上面干活;
那在哪干活呢?干活都在dev
分支上,也就是說(shuō),dev
分支是不穩(wěn)定的,到某個(gè)時(shí)候,好比1.0版本發(fā)布時(shí),再把dev
分支合并到master
上,在master
分支發(fā)布1.0版本;
你和你的小伙伴們每個(gè)人都在dev分支上干活,每個(gè)人都有本身的分支,時(shí)不時(shí)地往dev
分支上合并就可以了
最后宣布時(shí),再將dev
合并到master
更多 Git 教程系列文章:?
GitHub 使用教程圖文詳解? http://www.linuxidc.com/Linux/2014-09/106230.htm?
Git使用圖文具體教程? http://www.linuxidc.com/Linux/2016-11/136781.htm
Ubuntu Git安裝與使用 http://www.linuxidc.com/Linux/2016-11/136769.htm
Git 標(biāo)簽治理詳解 http://www.linuxidc.com/Linux/2014-09/106231.htm?
Git 分支治理詳解 http://www.linuxidc.com/Linux/2014-09/106232.htm?
Git 長(zhǎng)途倉(cāng)庫(kù)詳解 http://www.linuxidc.com/Linux/2014-09/106233.htm?
Git 當(dāng)?shù)貍}(cāng)庫(kù)(Repository)詳解 http://www.linuxidc.com/Linux/2014-09/106234.htm?
Git 服務(wù)器搭建與客戶端安裝? http://www.linuxidc.com/Linux/2014-05/101830.htm?
Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm?
分享適用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm?
Git從入門到學(xué)會(huì) http://www.linuxidc.com/Linux/2016-10/135872.htm
Git根本操作詳解 http://www.linuxidc.com/Linux/2016-10/135691.htm
Git部署與常用根本命令詳解? ?http://www.linuxidc.com/Linux/2017-06/144961.htm
散布式版本控制系統(tǒng) Git 詳細(xì)教程? http://www.linuxidc.com/Linux/2017-05/143747.htm
Git 的詳細(xì)先容:請(qǐng)點(diǎn)這里
Git 的下載地址:請(qǐng)點(diǎn)這里
本文永遠(yuǎn)更新鏈接地址:http://www.linuxidc.com/Linux/2017-06/145132.htm
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Git 分支的創(chuàng)建、合并、管理和刪除》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10718.html