我需要一些帮助。可以只显示一个提交ID吗?因为git log-3显示的是从1到3的日志,所以我只想显示3。什么样的命令可以匹配它?我使用命令
git log -3 --pretty=format:"%h"
结果是
ffbef87 cf0e073 1c76c5d
我只想显示1c76c5d。
voj3qocg1#
您可以使用git show引用当前提交的第三个父提交(即HEAD的第二个祖先)。此外,git show接受与git log相同的格式字符串:
git show
HEAD
git log
git show HEAD~2 --pretty=format:"%h" --no-patch
一个更好的方法是使用rev-parseplumbing command和--short选项来输出缩写的(7个字符)提交SHA-1:
rev-parse
--short
git rev-parse --short HEAD~2
或者你也可以指定提交SHA-1的确切长度:
git rev-parse --short=4 HEAD~2
xdnvmnnf2#
有一个工具可以做到这一点:
git log -3 --pretty=format:"%h" | tail -n 1
您可以使用以下标志包括哈希的n个字符(而不是默认值):
n
--abbrev=n
1)让每个程序做好一件事。要做一项新的工作,重新构建而不是通过添加新的"功能"来使旧程序复杂化。2)期望每个程序的输出成为另一个未知程序的输入。不要用无关的信息来混淆输出。避免严格的列式或二进制输入格式。不要坚持交互式输入。.[即]
https://en.wikipedia.org/wiki/Unix_philosophy
sdnqo3pr3#
从git 2.3.8开始,你可以使用--skip选项:
--skip
git log -1 --skip 2 --pretty=format:"%h"
不确定哪些早期版本的git支持--skip。
3条答案
按热度按时间voj3qocg1#
您可以使用
git show
引用当前提交的第三个父提交(即HEAD
的第二个祖先)。此外,git show
接受与git log
相同的格式字符串:更新(*2016年12月1日 *)
一个更好的方法是使用
rev-parse
plumbing command和--short
选项来输出缩写的(7个字符)提交SHA-1:或者你也可以指定提交SHA-1的确切长度:
xdnvmnnf2#
有一个工具可以做到这一点:
您可以使用以下标志包括哈希的
n
个字符(而不是默认值):Unix哲学的相关部分
1)让每个程序做好一件事。要做一项新的工作,重新构建而不是通过添加新的"功能"来使旧程序复杂化。
2)期望每个程序的输出成为另一个未知程序的输入。不要用无关的信息来混淆输出。避免严格的列式或二进制输入格式。不要坚持交互式输入。
.[即]
https://en.wikipedia.org/wiki/Unix_philosophy
sdnqo3pr3#
从git 2.3.8开始,你可以使用
--skip
选项:不确定哪些早期版本的git支持
--skip
。