为了账号安全,请及时绑定邮箱和手机立即绑定

HEAD与哈希值

标签:
Git

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)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1.4万
获赞与收藏
860

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消