在git中,以下有什么区别?
HEAD
HEAD^
HEAD~1
HEAD~2
它们与
master
有何关系?那么是否有 MASTER^
, MASTER~1
?? 最佳答案
HEAD
是当前分支上最近提交的同义词,无论它是什么。HEAD^
(或 HEAD^1
)表示 HEAD
的第一个父节点。 merge 提交有多个父项,因此 HEAD^2
指的是 HEAD
的第二个直接父项,该父项参与创建 HEAD
的 merge 。HEAD~1
与 HEAD~
相同。在这种情况下,它与 HEAD^
同义。要查看差异,请考虑 HEAD~2
是 HEAD
的祖 parent 。使用 ~
可以追溯到几代人。
如果你碰巧在 master
分支上,那么 HEAD
指的是 master。如果您在分支 topic/foo
上,那么它会在您在该分支上时引用该分支。
大小写对 git 很重要。 MASTER^
或 MASTER~1
很可能会产生表格的错误
致命:模棱两可的参数“MASTER~1”:未知修订版或路径不是
在工作树中。
但是 master^
和 master~1
是有意义的。
有关解决提交的多种方法的完整详细信息,请参阅 git rev-parse
documentation。
关于git - HEAD、HEAD^、HEAD~1有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20954566/