在Git历史中找到文件的哈希值

时间:2015-10-22 15:48:49

标签: git hash

我尝试在历史记录的给定点找到文件的哈希值。

git ls-files $REVISION $PATH | \
  sed -n 's/^.\{6\} .\+ \([0-9a-f]\{40\}\)\t.*$/\1/p'

有效,但看起来不那么优雅。它显示模式,类型,哈希和路径,然后使用sed仅过滤掉哈希。是否有一些命令只打印哈希开始?

我想要忽略像git show --pretty=%hash $REVISION:$PATH这样更简单的事情。这样的Git命令是否存在?

1 个答案:

答案 0 :(得分:4)

Git提供rev-parse命令来打印各种项目的SHA。与许多Git命令(除了git show之外的几乎所有命令)不同,它使用冒号作为修订和路径之间的分隔符。

git rev-parse $REVISION:$PATH