作爲Git的主打招牌之一,這一部分的基本操作值得專門講解。
1. 前言
每每將Git和SVN進行比較的時候,Git強大的分支管理功能必然會被提及,而這也是筆者部門選擇它的重要理由之一,因此對其的日常操作了解當然是勢在必行。
2. 操作
2.1 新建分支
ST裏新建分支是非常方便的,只需要"日誌/歷史"標籤頁選中相應的節點,右鍵選擇"分支"選項。
輸入一個辨識度強的分支名,點擊"創建分支"即可。便可在ST的左側欄的"分支"樹形結構下看到新建的分支了。
不過這裏要注意的是此時該分支只是存在於操作者本地,如果該分支是需要團隊共享的,那還需要操作者將其提交到服務端(這裏再強調一次GIT是分佈式版本控制系統)。
以上雖然遠端對應的分支名是可以重命名的,但建議除非必要,強烈建議保持一致,不增加額外的記憶負擔。
2.2 拉取分支
拉取服務端分支的方式有多種:
- ST左側欄"遠程"樹形結構中選中對應的分支右鍵。
- "日誌/歷史"標籤頁選中相應的節點,雙擊 / 右鍵選擇"檢出"選項。在彈出的對話框中直接使用默認選項,確認即可。
2.3 切換分支
這個在ST中就是太簡單了,只需要在左側欄的"分支"樹形結構中選中對應的分支雙擊即可。
2.4 合併分支
這裏先給出場景:我們需要將 vOne分支 合併到 master分支 上。
- 將當前分支切換到master分支,拉取最新的變更。
- 右鍵 vOne分支(保險起見,也先拉取一次更新),選擇"合併vOne到當前分支"。
- 出現衝突則解決衝突,推薦使用專門的衝突解決工具(Sourcetree基本操作介紹)。
- 將完成合並操作的master分支上的本地變更推送到服務端(是的,目前這些變化只存在於操作者電腦上)。
2.5 檢出分支
"檢出分支"意思是將當前項目回到選中的版本,這樣我們可以很輕鬆回到任意一個版本,來編譯項目,或者檢查當時項目的問題。
注意這個操作會創建一個分離頭指針(detached HEAD),因此除非明確知道自己在做什麼,否則儘量避免使用這類操作。
3. 其它合併操作
- 右鍵特定的節點,選擇"合併",這將會將當前提交節點至今爲止所有的變更全部應用到當前分支。一般用於不同分支間之間。
- 右鍵特定的節點,選擇"遴選"。用於從不同的分支中檢出一個單獨的commit , 並把它和你當前的分支合併,類似於打補丁。例如,修復一個所有分支都有的bug這樣的場合可以適用。