分支簡單來講就是不一樣的開發線路,每個分支也就意味着每一條開發線路!html
本地分支:本地倉庫的分支git
遠程分支:遠程倉庫的分支markdown
跟蹤分支:跟蹤分支是從遠程跟蹤分支上生成的本地分支(好比使用命令「git clone 倉庫地址 分支名稱」
會在本地倉庫生成一個和遠程倉庫分支名相同的分支,這個分支就是跟蹤分支)app
遠程跟蹤分支:遠程跟蹤分支是在本地的只讀的記錄遠程分支狀態的分支,其指向用戶沒法移動,當使用git fetch
等指令時其指向會依照遠程倉庫自動移動(這個概念筆者還不是很清楚)ide
建立一個名叫「develop」的分支fetch
git branch develop
spa
切換當前分支到「develop」分支code
git checkout develop
orm
建立一個名叫「feature-bug」的分支,並同時切換到該分支htm
git checkout -b feature-bug
(注:確保須要刪除的分支不是當前選擇分支)
1.切換到Master分支 git checkout master
2.刪除分支 git branch -d feature-bug
1.切換到Master分支 git checkout master
2.刪除分支 git branch -D feature-bug
合併develop
分支到master
分支
1.切換到master
分支上git checkout master
2.合併 git merge develop
Git默認合併的時候採用的是'Fast Forward'模式,但這種模式下,刪除分支後,會丟掉分支信息。若是要強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就能夠看出分支信息。使用選項
--no-ff
來禁用'Fast Forward'模式
舉例說明:
不使用Fast Forward
模式合併develp
分支到master
分支
1.切換到master分支git checkout master
2.合併git merge --no-ff -m "commit message" develop