【问题标题】:How to get second last commit hash in git如何在git中获取倒数第二个提交哈希
【发布时间】:2015-09-01 05:57:27
【问题描述】:

我正在使用下面的 git 命令来获取最后 2 个提交哈希

git log -n 2 --pretty=format:"%H"  #To get only hash value of commit

但我只需要倒数第二个提交哈希。

任何帮助都会很棒

谢谢

【问题讨论】:

    标签: git


    【解决方案1】:
    git rev-parse @~
    

    rev-parse 将各种符号转换为哈希,@ 是当前头部,~ 是前一次提交。

    这概括为任意远的提交:例如,您可以写@~3(或@~~~)来指定“当前头部之前的三个提交”。

    【讨论】:

    • 我认为这里缺少一件关键的事情:修订选择器@~ 也接受~ 之后的数字,例如@~3 表示:HEAD (@) 的父 (3 次) 的父 (~)。 (see git documentation)
    • @Griddo 可能应该编辑它,因为这非常很有帮助。
    • 很公平,@t0mgs。在关于“上一次提交”的问题中不是绝对必要的,但人们很可能会到这里寻找其他以前的提交。
    • @amalloy 即 moi,例如! :)
    【解决方案2】:

    使用skip 属性
    --skip=<number> 在开始显示提交输出之前跳过提交次数。

    git log -n 1 --skip 1 --pretty=format:"%H"
    

    关注link 以获取有关git log 的更多信息

    【讨论】:

    • 我比公认的答案更喜欢这个,因为我发现这个跳过参数非常直观
    • 也适用于 git rev-list: git rev-list --skip 1 -n1 HEAD
    【解决方案3】:

    您可以通过tail 管道输出您的命令:

    git log -n 2 --pretty=format:"%H" | tail -1
    

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 2020-09-06
      • 2023-03-16
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2012-12-31
      • 2020-10-11
      • 2021-02-04
      相关资源
      最近更新 更多