git log只显示一个提交ID

时间:2015-07-16 07:56:55

标签: git git-commit git-log

我需要一些帮助。可能只显示一个提交ID?由于git log -3显示从1到3的日志,我只想显示3.什么可能的命令将匹配它?

我使用命令

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

结果是

       ffbef87
       cf0e073
       1c76c5d

我只想显示 1c76c5d

3 个答案:

答案 0 :(得分:44)

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

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

更新( 2016-12-01

更好的方法是使用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 

Unix哲学的相关部分

  

1)让每个程序做好一件事。要做一份新工作,重新构建而不是通过添加新的“功能”使旧程序复杂化。

     

2)期望每个程序的输出成为另一个尚未知的程序的输入。不要使用无关信息来混淆输出。避免严格的柱状或二进制输入格式。不要坚持交互式输入。

     

...   [即]

     
      
  • 编写完成一件事并做得很好的程序。
  •   
  • 编写程序以协同工作。
  •   

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

答案 2 :(得分:4)

至少从git版本2.3.8开始,您可以使用--skip选项:

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

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

相关问题