推薦學習:《》
在進行多人共同作業開發的時候,為了防止互相干擾,提高協同開發的體驗,建議每個開發者都基於分支進行專案功能的開發,例如:
在初始化本地Git倉庫的時候,Git預設已經幫我們建立了一個名字叫做master的分支。通常我們把這個master分支叫做主分支。
在實際工作中,master主分支的作用是:用來儲存和記錄整個專案已完成的功能程式碼。
因此,不允許程式設計師直接在master分支上修改程式碼,因為這樣做的風險太高,容易導致整個專案崩潰,因此我們需要在自己負責開發的分支上進行開發
由於程式設計師不能直接在master分支上進行功能的開發,所以就有了功能分支的概念。
功能分支指的是專門用來開發新功能的分支,它是臨時從master主分支上分叉出來的,當新功能開發且測試完畢後,最終需要合併到master主分支上,如圖所示:
使用如下的命令,可以檢視當前Git倉庫中所有的分支列表:
git branch
注意:分支前面的*表示當前所處的分支
使用如下的命令,可以基於當前分支,建立一個新的分支,此時,新分支中的程式碼和當前分支完全一樣:(所以開發時我們需要在主分支上建立新分支)
git branch 分支名稱
使用如下的命令,可以切換到指定的分支上進行開發:
git checkout 分支名稱
使用如下的命令,可以建立指定名稱的新分支,並立即切換到新分支上:
1 #-b表示建立一個新分支 2 # checkout表示切換到剛才新建的分支上 3 git checkout -b 分支名稱
功能分支的程式碼開發測試完畢之後,可以使用如下的命令,將完成後的程式碼合併到 master主分支上:
1 切換到master分支 2 git checkout master 3在 master 分支上執行 git merge 命令,將要合併分支的程式碼合併到 master分支 4 git merge 分支名稱
當把功能分支的程式碼合併到master主分支上以後,就可以使用如下的命令,刪除對應的功能分支:
git branch -d 分支名稱
如果在兩個不同的分支中,對同一個檔案進行了不同的修改,Git就沒法乾淨的合併它們。此時,我們需要開啟這些包含衝突的檔案然後手動解決衝突。
1#假設:在把reg分支合併到 master分支期間,程式碼發生了衝突 2 git checkout master 3 git merge reg
發生衝突:
開啟衝突的檔案手動解決(也可以使用vs code的輔助解決(紅色圈裡面))
解決後重新提交和合並
#開啟包含衝突的檔案,手動解決衝突之後,再執行如下的命令 git add . git commit -m「解決了分支合併衝突的問題" git merge 分支名稱
如果是第一次將本地分支推播到遠端倉庫,需要執行如下的命令:
1#-u表示把本地分支和遠端分支進行關聯,只在第一次推播的時候需要帶-u引數 2 git push -u 遠端倉庫的別名 本地分支名稱:遠端分支名稱 3 4#實際案例: 5 git push -u origin payment: pay 6 7#如果希望遠端分支的名稱和本地分支名稱保持一致,可以對命令進行簡化: 8 git push -u origin payment
如果不是第一次將本地分支推播到遠端倉庫,需要執行如下的命令:
則切換到要推播的分支後直接git push 就可以將本地分支推播到遠端倉庫
git remote show 遠端倉庫名稱
跟蹤分支指的是:從遠端倉庫中,把遠端分支下載到本地倉庫中。需要執行的命令如下:
可以使用如下的命令,把遠端分支最新的程式碼下載到本地對應的分支中:
1#從遠端倉庫,拉取當前分支最新的程式碼,保持當前分支的程式碼和遠端分支程式碼一致 2 git pull
可以使用如下的命令,刪除遠端倉庫中指定的分支:
1 #刪除遠端倉庫中,指定名稱的遠端分支 2 git push 遠端倉庫名稱 --delete 遠端分支名稱 3 #範例: 4 git push origin --delete pay
推薦學習:《》
以上就是Git分支圖文詳解的詳細內容,更多請關注TW511.COM其它相關文章!