在這篇文章中,會說明分支(branch)在SourceTree內的用法,分支是在版本控制中很重要的一環,尤其多人開發,或是需要加入新功能等等,也可以用來回溯之前的版本。
要建立新分支 我們可以直接點選介面上的點選介面上的Branch,輸入分支名稱後點選創建分支,即可建立新分支。
1
2
3
在SourceTree內切換分支的方法非常簡單,只要將滑鼠指標移到想要切換到的分支上快速點左鍵兩下,或是在該分支上點選右鍵選擇Checkout就可以快速切換。
刪除分支有兩種方式:
第一種直接到該分支點選右鍵,選擇Delete。
第二種則是點選Branch,再點選上方的 Delete Branch,下方清單的分支可以多選後刪除(有顯示Origin的則是在github伺服器上的分支)
首先點選Push
然後勾選要上傳的分支,如果伺服器上還沒有這個分支,勾選後Remote Branch會自己顯示新分支的名稱,此時只要Push上去就完成了。
分支都會有一個主要的版本,有再其他分支更改過內容可使用commit,輸入說明後提交再push上去。
因為修改或是寫的內容不同,分支會出現分歧。
此時也因為本機的版本比伺服器上還新,所以在分支上面都會出現提示
在兩人或多人協同開發專案時,可以將分開寫的程式碼在SourceTree上做合併分支
這是分支master的程式碼
這是分支001的程式碼
合併分支點選Merge後會出現以下視窗,此時我們的分支為001,要將master與001合併,所以我們選擇master分支後點擊OK
因為出現程式碼不同的狀況,所以出現合併衝突,會跳出警告視窗Merge conflict
關閉警告視窗後我們可以在底下看到衝突的部分
因為筆者使用的是vs code,所以此時可以開啟這個檔案查看衝突部分
開啟後會顯示如下圖
此時我們可以點選比較變更來看看兩方的程式碼差異
因為一方是空白行,所以可以選擇使用接受兩者變更,點擊後程式碼會合併成下圖
合併完成後回到SourceTree,將在Unstaged files的檔案拖曳到staged files,此時的說明欄內會有剛剛合併分支的說明,可以修改說明也可以直接commit。
回到分支頁面上,可以看到001分支已經跟master分支合併了,此時就可以將這個版本Push上github。
*要注意的是現在我們的分支都是在001,所以001分支已經跟master分支的程式碼合併,但是切換到master分支後顯示的為未合併的前一版本喔。
一步一步教你用 GitHub + SourceTree 做版本控制
30 天精通 Git 版本控管 (17):關於合併的基本觀念與使用方式
用 Sourcetree 實現基礎版本管控
本地分支衝突
合併發生衝突了,怎麼辦?