2014-11-06 97 views

回答

37

來自文檔here

  • HEAD~2:2次的提交比HEAD
  • 年長
  • HEAD^2:HEAD的第二個父母,如果頭部被合併,否則非法
  • [email protected]{2}:指第3上市在git reflog
  • 概述HEAD~~:2個比HEAD更舊的提交
  • HEAD^^:2個比HEAD更舊的提交

如果頭部被合併,然後

  • 第一父是供我們合併的分支,
  • 第二父是我們合併的分支。

一些組合和同義詞

First Parent First Grandparent Second Parent Second Grandparent 

HEAD~ 
HEAD^ 
HEAD~1   HEAD~2    HEAD^2   HEAD^2~   
HEAD^1   HEAD^^        HEAD^2^ 
+0

的文檔鏈接是完美的。 Git Book v2對v1有很多有用的補充。 – 2014-11-06 17:13:31

+0

'HEAD〜0'和'HEAD'一樣,就像你期望的那樣。有點令人困惑的是,'HEAD^0'也與'HEAD'相同。 – 2017-06-14 18:15:54

4

GIT中參考後綴(^ N,〜N,@ {...})

ref~ref~1速記並且意味着提交的第一個父代。 ref~2表示提交的第一個父代的第一個父代。 ref~3表示提交的第一個父代的第一個父代的第一個父代。等等。

ref^ref^1的簡寫,表示提交的第一個父代。但是,兩者不同的地方在於ref^2意味着提交的第二個父代(記住,提交可以在合併時有兩個父代)。

^和〜運營商可以合併。

下圖顯示瞭如何使用HEAD作爲起點引用各種提交。
enter image description here

src