Git ^ 和 ~ 的区别

image

我们可以看到,最新的commit为HEAD,那么HEAD的前一个commit就为HEAD1,HEAD的前两个commit就为HEAD2。。。

注意从HEAD3上新开了一个分支,并出现一个蓝色的commit。之后进行merge操作,蓝色的commit和HEAD2合并成一个新的commit:HEAD~1。

此时我们可以看到HEAD1实际上拥有了两个parent,第一个parents是HEAD2,第二个parent则是蓝色的新分支上的commit,那么此时就是^符号使用的场景了。

符号表示某个commit父commit所在层中的第几个parent,由于HEAD~1拥有两个父亲commit,因此这儿就需要使用符号表示图中蓝色的commit,即HEAD~1^2。

参考:

https://www.jianshu.com/p/6ce13ce46d8b

posted @ 2023-03-10 10:10  Better-HTQ  阅读(22)  评论(0编辑  收藏  举报