在Git历史记录中查找文件的哈希

XZS*_*XZS 4 git hash

我尝试在历史记录中的给定位置查找文件的哈希。

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

可以,但是看起来不太雅致。它显示模式,类型,哈希和路径,然后sed仅用于过滤哈希。是否有一些仅打印哈希开头的命令?

我想象已经忽略了一些更简单的东西git show --pretty=%hash $REVISION:$PATH。是否存在这样的Git命令?

And*_*w C 5

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

git rev-parse $REVISION:$PATH 
Run Code Online (Sandbox Code Playgroud)