Git Tag用法
練習:
git tag v1 C1; git checkout v1; git tag v0 c2;
Git Describe
Git Describe 由於標籤在代碼庫中起着“錨點”的作用,Git 還爲此專門設計了一個命令用來描述離你最近的錨點(也就是標籤),它就是 git describe! Git Describe 能幫你在提交歷史中移動了多次以後找到方向;當你用 git bisect(一個查找產生 Bug 的提交記錄的指令)找到某個提交記錄時,或者是當你坐在你那剛剛度假回來的同事的電腦前時, 可能會用到這個命令。
多分支 rebase
哥們兒,我們準備了很多分支!咱們把這些分支 rebase 到 master 上吧。 但是你的領導給你提了點要求 —— 他們希望得到有序的提交歷史,也就是我們最終的結果應該是 C6' 在 C7' 上面, C5' 在 C6' 上面,依此類推。 即使你搞砸了也沒關係,用 reset 命令就可以重新開始了。記得看看我們提供的答案,看你能否使用更少的命令來完成任務!
選擇父提交記錄
選擇父提交記錄 操作符 ^ 與 ~ 符一樣,後面也可以跟一個數字。 但是該操作符後面的數字與 ~ 後面的不同,並不是用來指定向上返回幾代,而是指定合併提交記錄的某個父提交。還記得前面提到過的一個合併提交有兩個父提交吧,所以遇到這樣的節點時該選擇哪條路徑就不是很清晰了。 Git 默認選擇合併提交的“第一個”父提交,在操作符 ^ 後跟一個數字可以改變這一默認行爲。
題目
現在我們的master分支是比one、two和three要多幾個提交。出於某種原因,我們需要把master分支上最近的幾次提交做不同的調整後,分別添加到各個的分支上。
one需要重新排序並刪除C5,two僅需要重排排序,而three只需要提交一次。