GIT分支,創建分支與合並分支的工作原理與教程


開發一個版本,采用的發布流程:

(1).從master的最新代碼拉取一個開發分支,在上面進行開發

(2).在開發分支上不斷地進行提交版本,期間,master也會有因為其他版本上線而不停有版本合並

(3).要發布的時候,把分支重新合到master分支

1.什么是分支

分支是一個commit對象鏈:一條工作記錄線

git每一次提交版本,都會在該版本上存一個字段parent,記錄的是上一個提交的版本號,這樣就可以從一個提交的快照里拿到之前所有提交過的記錄

2.新建分支是如何操作的

先了解2個重要的概念——HEAD和master:HEAD指向的就是當前分支(某個時刻你所處的分支),master指向提交

(1)創建分支之前,HEAD指向master

(2)創建分支b1,HEAD指針指向b1

與svn不同的是,svn創建分支會把全部內容拷貝一份,git創建分支只會創建一個指針

3.實踐

(1) # 新建一個倉庫用於測試

git init 

 

# 新建一個文件用於測試,並寫入"第一次提交"

vim test.txt

 

# 提交修改到倉庫

git add . && git commit -m '第一次提交'

 

# 修改文件test.txt,添加一行"第二次提交"

vim test.txt

 

# 第二次提交修改到倉庫

git add . && git commit -m '第二次提交'

細心的朋友可能已經發現了,這兩次提交我們都是在master(即主分支上)提交的,此時項目分支圖如圖所示

(2) 我們創建一個分支b1,一個分支b2,並演示一下分支切換

# 創建分支b1

git branch b1

 

# 切換到分支b1

git checkout b1

 

# 切換回主分支master,如圖所示

git checkout master

# 創建並切換分支b2

git checkout -b b2

 

# 切換回主分支master,如圖所示

git checkout master

創建分支后,此時項目分支圖如圖所示

(3) 嘗試一下在不同分支下工作

在master進行工作

 

# 在master新建一個master.txt文件

touch master.txt

 

# 提交一次

git add . && git commit -m 'master上的第三次提交'

 

# 查看當前文件內容

ll

(4) 切換到其他分支看看,可以發現其他分支下並沒有master.txt文件,是不是很神奇

# 切換到分支b1

git checkout b1

 

# 查看當前文件夾文件

ll

 

# 切換到分支b2

git checkout b2

 

# 查看當前文件夾文件

ll

(5) 分別在b1,b2工作

# 切換到分支b1

git checkout b1

 

# 創建文件

touch b1.txt

 

# 提交到倉庫

git add . && git commit -m 'b1上的第三次提交'

 

# 查看當前文件目錄

ll

 

# 切換到分支b2

git checkout b2

 

# 創建文件

touch b2.txt

 

# 提交到倉庫

git add . && git commit -m 'b2上的第三次提交'

 

# 查看當前文件目錄

ll

此時項目分支圖如圖所示

(6) 當發版時我們需要進行合並分支,現在我們把b2分支合並到master上

# 切換到分支master

git checkout master

 

# 合並代碼

git merge b2

 

是不是很方便,當你同一時間一個項目遇到多處修改使用git會有多舒服你用過才知道。此時項目分支圖如圖所示

大功告成!

 


免責聲明!

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



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