git日志只显示一个提交id

1tu0hz3e  于 2023-01-15  发布在  Git
关注(0)|答案(3)|浏览(177)

我需要一些帮助。可以只显示一个提交ID吗?因为git log-3显示的是从1到3的日志,所以我只想显示3。什么样的命令可以匹配它?
我使用命令

git log -3 --pretty=format:"%h"

结果是

ffbef87
       cf0e073
       1c76c5d

我只想显示1c76c5d

voj3qocg

voj3qocg1#

您可以使用git show引用当前提交的第三个父提交(即HEAD的第二个祖先)。此外,git show接受与git log相同的格式字符串:

git show HEAD~2 --pretty=format:"%h" --no-patch

更新(*2016年12月1日 *)

一个更好的方法是使用rev-parseplumbing command--short选项来输出缩写的(7个字符)提交SHA-1:

git rev-parse --short HEAD~2

或者你也可以指定提交SHA-1的确切长度:

git rev-parse --short=4 HEAD~2
xdnvmnnf

xdnvmnnf2#

有一个工具可以做到这一点:

git log -3 --pretty=format:"%h" | tail -n 1

您可以使用以下标志包括哈希的n个字符(而不是默认值):

--abbrev=n

Unix哲学的相关部分

1)让每个程序做好一件事。要做一项新的工作,重新构建而不是通过添加新的"功能"来使旧程序复杂化。
2)期望每个程序的输出成为另一个未知程序的输入。不要用无关的信息来混淆输出。避免严格的列式或二进制输入格式。不要坚持交互式输入。
.[即]

  • 编写只做一件事并且做得很好的程序。
  • 编写协同工作的程序。

https://en.wikipedia.org/wiki/Unix_philosophy

sdnqo3pr

sdnqo3pr3#

从git 2.3.8开始,你可以使用--skip选项:

git log -1 --skip 2 --pretty=format:"%h"

不确定哪些早期版本的git支持--skip

相关问题