什么是分支:
當一個分支指向一個節點時,節點的內容就是分支的內容,與HEAD指針的概念很像,但是分支可以有多個
舉個例子:
你們的 App 經歷了千辛萬苦終於發布了v1.0版本,由於需求緊急v1.0上線之后便馬不停蹄的開始v1.1,正當你開發的興起時,QA同學說用戶反饋了一些bug,需要修復然后重新發版,修復v1.0肯定要基於v1.0的代碼,可是你已經開發了一部分v1.1了,此時怎么搞?
先看左邊示意圖,假設C2節點既是v1.0版本代碼,上線后在C2的基礎上新建一個分支ft-1.0
再看右邊示意圖,在v1.0上線后可在master分支開發v1.1內容,收到QA同學反饋后提交v1.1代碼生成節點C3,隨后切換到ft-1.0分支做bug修復,修復完成后提交代碼生成節點C4,然后再切換到master分支並合並ft-1.0分支,到此我們就解決了上面提出的問題

除此之外利用分支還可以做很多事情,比如現在有一個需求不確定要不要上線,但是得先做,此時可以單獨創建一個分支開發該功能,等到啥時候需要上線直接合並到主分支即可。分支適用的場景很多就不一一列舉了。
注意點
當在某個節點創建一個分支后,並不會把該節點對應的代碼復制一份出來,只是將新分支指向該節點,因此可以很大程度減少空間上的開銷。一定要記着不管是HEAD還是分支它們都只是引用而已,量級非常輕
git branch 查看當前本地分支 *星號標的是當前分支

git branch -a 查看所有(本地和遠程)分支 ,remotes的是遠程分支

git switch/checkout 分支名 切換分支
git checkout --track origin/分支名,會自動創建並切換到本地分支,並且追蹤遠程分支

git branch -d 分支名 刪除本地分支
