如何在错误提交之前立即获取提交的哈希值?

How can I get the hash of a commit immediately before a faulty commit?

不久前有一个提交推送了一些删除,一些好,一些不太好。是时候恢复不应该发生的删除了。以下行确实列出了需要恢复的所有文件:

git show --pretty="" --name-only 9168052f32 | grep -v Mobile-Apps-SDK

我 运行 遇到的问题是哈希是什么时候被删除的。我的理解是,要恢复已删除的文件,需要的是删除前的哈希值。

git log --follow --pretty=format:"%h" -- config/manifest.json 
9168052
11886af
b6b90ab

显示其中一个文件的哈希值列表,有没有办法获取第二个哈希值 11886af,以便在一个长命令中恢复所有文件?

您的 9168052f32 提交将有一个您可以使用 9168052f32^ 访问的父项。那将是之前的提交。如果是这样的话,你可以从那里把它们捞出来。