如何获取Git中当前提交的哈希?
当前回答
另一个,使用git-log:
git log -1 --format="%H"
它与“outofculture”非常相似,不过稍短一些。
其他回答
echo“正在打印当前分支的上次提交id#:”;
git reflog
以下是另一种方法:)
git log | grep -o '\w\{8,\}' | head -n 1
使用git rev list--max count=1 HEAD
下面是另一个直接访问实现:
head="$(cat ".git/HEAD")"
while [ "$head" != "${head#ref: }" ]; do
head="$(cat ".git/${head#ref: }")"
done
这也适用于http,这对本地包存档很有用(我知道:对于公共网站,不建议将.git目录设置为可访问):
head="$(curl -s "$baseurl/.git/HEAD")"
while [ "$head" != "${head#ref: }" ]; do
head="$(curl -s "$baseurl/.git/${head#ref: }")"
done
在gitbash上,只需运行$git日志-1
您将看到,这些行遵循您的命令。
commit d25c95d88a5e8b7e15ba6c925a1631a5357095db .. (info about your head)
d25c95d88a5e8b7e15ba6c925a1631a5357095db, is your SHA for last commit.
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?
- 如何在不稳定的连接上完成一个大项目的git克隆?