[git]git中分支的概念


什么是分支:

當一個分支指向一個節點時,節點的內容就是分支的內容,與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 分支名 刪除本地分支

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM