git中〜和^之间的区别是什么

Osc*_*Ryz 4 git

我很久以前就问过这个问题,但我仍然不知道在这个答案中做什么和^意味着什么:

如果您正在谈论远程分支,比如origin/master,您可以使用〜和^来引用相对于分支的祖先提交,就像使用本地分支一样

有什么不同?

mip*_*adi 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
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是标识符的含义,例如HEAD ^ 2,它是不同的(第二个父级的提交,其中有多个父级). (6认同)

alk*_*ity 5

根据此文档,波形符 (~) 引用提交的线性祖先(父代、祖父母、曾祖父母),而脱字号 (^) 引用多个父代。在存在多个合并祖先的情况下,每个合并源都将是父级。