【2021-11-29】連嶽摘抄
什麼是分支:
在開發軟體時,可能有多人為同一個開發功能並修復bug,可能存在多個release版本,並且需要對多個版本進行維護。git的分支功能可以支援同時多個功能的開發和版本管理。
分支是為了將修改記錄的整體流程分叉進行儲存。分叉後的分支不受其他分支的影響。所以在同一個資料庫中可以同時進行修改。
分叉的分支可以進行合併。下面是使用分支進行作業的圖示:
幾乎每一種版本控制系統都以某種形式支援分支。使用分支意味著你可以從開發主線上分離開來,然後再不影響主線的同時繼續工作。
建立分支的命令:
git branch <branchname>
切換分支:
git checkout <branchname>
當你切換根治的時候,Git會用該分支的最後一次提交的快照替換你的工作目錄的內容,所以多個分支不需要多個目錄。
合併分支的命令:
gitmerge
你可以多次合併到統一分支,也可以選擇在合併之後直接刪除被併入的分支。
Git分支管理:
git branch
沒有引數時,git branch會列出你在本地的分支。
這個例子的意思是,我們有三個分支:master origintesting星號在誰前面誰就是當前分支。
當執行git init的時候,預設情況下git會建立master分支。
如果需要手動建立一個分支,就使用gitbranch <branchname>即可。
當你以此方式在上次提交更新之後建立了分支,如果後來又有更新的提交,然後切換到了testing分支,Git將還原你的工作目錄到你建立分支時候的樣子。
接下來我們將演示如何切換分支:使用gitcheckout <branchname>切換到我們要修改的分支
git checkout testing
當我們切換到testing分支的時候,我們新增的新檔案test.txt被溢位了。切換到master分支的時候,它們又重新出現了。
刪除分支的命令:git branch -d <branch name>
分支合併:
一旦分支有了獨立內容,你終究會希望將它合併回到你的主分支。你可以使用以下命令將任何分支合併到當前分支中去。
git merge
$ git branch * master newtest $ ls README test.txt $ git merge newtest Updating 3e92c19..c1501a2 Fast-forward runoob.php | 0 test.txt | 1 - 2 files changed, 1 deletion(-) create mode 100644 runoob.php delete mode 100644 test.txt $ ls README runoob.php以上
例項中我們將newtest分支合併到主分支去,test.txt檔案被刪除,合併完後就可以刪除分支。
--git branch -d newtest
刪除後就只剩下master分支了。