我应该使用哪个命令来打印出HEAD的提交ID?
这是我手动执行的内容:
$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
但我需要一个可靠的脚本,可以将某些命令的输出精确地导入到文本文件中,以便该文本文件仅包含HEAD的提交ID(没有多余内容,也不只是一个ref)。有人能帮忙吗?
我应该使用哪个命令来打印出HEAD的提交ID?
这是我手动执行的内容:
$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
但我需要一个可靠的脚本,可以将某些命令的输出精确地导入到文本文件中,以便该文本文件仅包含HEAD的提交ID(没有多余内容,也不只是一个ref)。有人能帮忙吗?
使用以下命令:
git rev-parse HEAD
简短版本:
git rev-parse --short HEAD
git rev-parse --short HEAD
。 - mgarciaisaiagit log -1
仅针对提交 ID
git log | head -n 1
git log | head -1
和 git log | head -n 1
是等价的。 - Milangit log -1
非常有用。因为它还显示了提交消息和其他细节,使进一步的分析/比较变得容易。谢谢! - Milan旧的主题,仍然供将来参考...:) 以下内容也适用
git show-ref --head
默认情况下,HEAD被过滤掉了。 但是要注意,复数形式的"heads"末尾带有's'。以下命令显示了"refs/heads"下面的分支。
git show-ref --heads
git show-ref --heads
得到两行输出,从 git show-ref --head
得到6290行输出。因此,如果你只想得到一个哈希值,这可能不是预期的结果。请注意,翻译过程中尽力保持原意,使内容更易懂,但不进行解释,不添加额外信息。 - Remigius Stalder你可以指定git log
选项仅显示最后一次提交,即-1
,并使用仅包含提交ID的格式,如下所示:
git log -1 --format=%H
如果您喜欢缩短的提交ID:
git log -1 --format=%h
与Bash一起玩:
git show HEAD | sed -n 1p | cut -d " " -f 2
git rev-parse --abbrev-ref HEAD
您可以使用
git log -g branchname
使用git reflog
命令查看格式化的信息,类似于git log
输出,并包含提交ID。