我有一个文件,我发现它在那里躺着。我想知道它是否来自特定的 git 存储库,在某个时间点。精确匹配就足够了。我该如何做?
我有一个文件,我发现它在那里躺着。我想知道它是否来自特定的 git 存储库,在某个时间点。精确匹配就足够了。我该如何做?
您可以使用以下方式从文件生成SHA:
git hash_object <file path>
这样的哈希值:
c675fb0fe881673391f078c37e594ec7a51aa222
您可以使用类似此命令(有多种变化)列出所有(可达到的)Blob和文件名。
通过这种方式,您可以使用grep查找您的哈希值:
git rev-list --objects --all | git cat-file --batch-check='%(objectname) %(objecttype) %(rest)' | grep '^[^ ]* blob' | cut -d" " -f1,3- | grep c675fb0fe881673391f078c37e594ec7a51aa222
md5sum
足够了吗?如果是,您可以像这样使用另一个SO答案中的脚本git-dump.sh <FILE>
然后检查任何输出文件是否与原始文件的md5sum
匹配。 - Arkadiusz Drabczyk