继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

HEAD与哈希值

为爱心太软
关注TA
已关注
手记 170
粉丝 1.4万
获赞 860

HEAD

HEAD 是当前分支引用的指针,它总是指向该分支上的最后一次提交。
当进行新的提交时,HEAD 就会自动向前移动,指向这个新提交。
进入 main 分支中并运行 git log,可以看到提交记录:

$ git checkout main
$ git log
commit 0961e2e4fb7b9c92c67bfe3936b8fb8793e1d4ed (HEAD -> main)
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:09:29 2024 +0800

    第二次修改iss53

commit d556a63e53dfef1f1aa74a0e196cd31abaa79e5c
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:08:18 2024 +0800

    修改iss53

commit 9f5bfba20b0448961111fe1cc621187b461284c4
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:00:55 2024 +0800

    修改hotfix

commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Tue Jan 30 16:24:42 2024 +0800
:

HEAD 默认指向当前分支上的最后一次提交,如果在尾部加上一个 ^,即 HEAD^指向上一次提交:

$ git show HEAD^
commit d556a63e53dfef1f1aa74a0e196cd31abaa79e5c
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:08:18 2024 +0800

    修改iss53

diff --git a/README.md b/README.md
index 7027fce..b2752eb 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
-// hello
\ No newline at end of file
+// hello
+// word
\ No newline at end of file
(END)

另一种方法是 ~HEAD~HEAD^ 是等价的,指向上一次提交。

区别在~后面加数字的时候, HEAD~2 代表 “上一次提交的上一次提交”:

$ git show HEAD~2 # 也可以写成 HEAD^^
commit 9f5bfba20b0448961111fe1cc621187b461284c4
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:00:55 2024 +0800

    修改hotfix

diff --git a/README.md b/README.md
index e69de29..7027fce 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1 @@
+// hello
\ No newline at end of file
(END)

哈希值

0961e2e4fb7b9c92c67bfe3936b8fb8793e1d4ed 等就是提交的哈希值,用来唯一标识这次提交。
如果想通过哈希值获得对应的提交,只需要提供前几个字符就可以:字符数量不得少于 4 个,通常 7 到 10 个字符。

$ git show 9f5bfba
commit 9f5bfba20b0448961111fe1cc621187b461284c4
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Wed Feb 21 16:00:55 2024 +0800

    修改hotfix

diff --git a/README.md b/README.md
index e69de29..7027fce 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1 @@
+// hello
\ No newline at end of file
(END)
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP