很久以前我问过this问题,但我仍然不知道在这个答案中做什么和^意味着什么:
如果你在谈论一个远程分支,比如origin / master,你可以 使用〜和^来指代祖先提交相对于一个分支相同 您可以使用本地分支机构
有什么区别?
答案 0 :(得分: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
答案 1 :(得分:4)
正如the manpage所述:
<rev>^, e.g. HEAD^, v1.5.1^0
修订参数的后缀^表示该提交对象的第一个父级。^<n>
表示<n>
个父级(即<rev>^
等同于<rev>^1
)。 [...]<强>
<rev>~<n>, e.g. master~3
强>
修订参数的后缀~<n>
表示提交对象,它是指定提交对象的<n>
代祖先,仅跟随第一个父对象。即<rev>~3
相当于<rev>^^^
,相当于<rev>^1^1^1
。
答案 2 :(得分:4)
根据this document,代字号(〜)引用提交的线性祖先(父母,祖父母,曾祖父母),而插入符号(^)引用多个父母。在存在多个合并祖先的情况下,每个合并源都是父级。