我需要一些帮助。可能只显示一个提交ID?由于git log -3显示从1到3的日志,我只想显示3.什么可能的命令将匹配它?
我使用命令
git log -3 --pretty=format:"%h"
结果是
ffbef87
cf0e073
1c76c5d
我只想显示 1c76c5d 。
答案 0 :(得分:44)
您可以使用当前提交中的git show
referencing the third parent(即HEAD
的第二个祖先)。此外,git show
接受与git log
相同的格式字符串:
git show HEAD~2 --pretty=format:"%h" --no-patch
更好的方法是使用rev-parse
plumbing command和--short
选项输出缩写(7个字符)的提交ID:
git rev-parse --short HEAD~2
或者您也可以指定提交ID的确切长度:
git rev-parse --short=4 HEAD~2
答案 1 :(得分:4)
有一个工具:
git log -3 --pretty=format:"%h" | tail -n 1
您可以使用以下标志包含散列的n
个字符(而不是默认值):
--abbrev=n
1)让每个程序做好一件事。要做一份新工作,重新构建而不是通过添加新的“功能”使旧程序复杂化。
2)期望每个程序的输出成为另一个尚未知的程序的输入。不要使用无关信息来混淆输出。避免严格的柱状或二进制输入格式。不要坚持交互式输入。
... [即]
- 编写完成一件事并做得很好的程序。
- 编写程序以协同工作。
答案 2 :(得分:4)
至少从git版本2.3.8开始,您可以使用--skip
选项:
git log -1 --skip 2 --pretty=format:"%h"
不确定哪个早期版本的git支持--skip
。