2013-02-06 248 views
4

我問this問題很久以前,但我仍然不知道該怎麼辦〜^並在這個答案的意思是:什麼之間的區別〜^和Git中

如果你在談論遠程分支比如說,產地/主,你可以使用 〜^並指祖先承諾相對於分支相同 方式,您可以與當地的分支機構

有什麼區別?

+5

[爲什麼不Zoidberg? (我的意思是,手冊頁!)](http://git-scm.com/docs/gitrevisions.html) –

回答

5

^表示「(第一)父親」。 ~是相似的,但它需要一個數字作爲參數,基本上意味着「祖先的」。因此,例如:

HEAD   = latest commit 
HEAD^ = HEAD~1 = parent of latest commit 
HEAD^^ = HEAD~2 = grandparent of latest commit 
HEAD~100  = 100th ancestor of latest commit 
+6

值得一提的是HEAD^2等標識符的含義不同(第二個父母的提交,其中有多個父母)。 – alkalinity

4

作爲the manpage狀態:

<rev>^, e.g. HEAD^, v1.5.1^0
到一個修改參數的後綴^意味着commit對象的第一個親本。 ^<n>表示<n> th父母(即<rev>^等於<rev>^1)。 [...]

<rev>~<n>, e.g. master~3
後綴~<n>到一個修改參數是指提交對象,它是在指定的<n>次生成祖先commit對象,僅跟隨第一父母。即<rev>~3相當於<rev>^^^,相當於<rev>^1^1^1

4

根據this document,波浪線(〜)引用提交(父母,祖父母,曾祖父母)的線性祖先,而插入符號(^)引用多個父母。在存在多個合併祖先的情況下,每個合併源將是父代。

相關問題