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

标签 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 命令?

最佳答案

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

git rev-parse $REVISION:$PATH 

关于git - 在 Git 历史记录中查找文件的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33285230/

相关文章:

git - 如何让 travis-ci 使用本地 git 分支而不是特定的提交?

java - 使用 mod 对 id 进行分区的良好哈希函数

java - 在 Java 中使用 DigestInputStream 时出现奇怪的循环

git-subtree pull merge 冲突

git - 将未提交的更改移动到另一台计算机而不提交

multithreading - 珀尔。 2 个文件中的共享哈希线程

ruby-on-rails - Rails 4 - 将地址另存为数据库中的一列

ruby-on-rails - 如何在嵌套数组/哈希上使用 ruby​​ uniq

git - 如何在 git 中 merge 单个文件?

iphone - XCode : Using the command line tools, 如何从文件夹创建 git 并将其导入项目