如何获取Git中当前提交的哈希?
当前回答
要获取完整的SHA:
$ git rev-parse HEAD
cbf1b9a1be984a9f61b79a05f23b19f66d533537
要获取缩短版本:
$ git rev-parse --short HEAD
cbf1b9a
其他回答
我知道的最简洁的方式是:
git show --pretty=%h
如果您需要哈希的特定位数,可以添加:
--abbrev=n
在gitbash上,只需运行$git日志-1
您将看到,这些行遵循您的命令。
commit d25c95d88a5e8b7e15ba6c925a1631a5357095db .. (info about your head)
d25c95d88a5e8b7e15ba6c925a1631a5357095db, is your SHA for last commit.
使用git rev list--max count=1 HEAD
以下是Bashshell中使用直接从git文件读取的一行代码:
(head=($(<.git/HEAD)); cat .git/${head[1]})
您需要在git根文件夹中运行上述命令。
当您有存储库文件,但尚未安装git命令时,此方法很有用。
如果不起作用,请检查.git/refs/heads文件夹中您有什么样的头。
在文件“.gitconfig”的主目录中添加以下内容
[alias]
sha = rev-parse HEAD
那么您将有一个更容易记住的命令:
$ git sha
59fbfdbadb43ad0b6154c982c997041e9e53b600
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?
- 如何在不稳定的连接上完成一个大项目的git克隆?