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