我有一个我发现的文件。我想知道它是否来自某个特定的git repo,在某个时间点。完全匹配比较足够好。我怎样才能做到这一点?
您可以使用从文件生成SHA
git hash_object <file path>
这给你一个像这样的哈希:
c675fb0fe881673391f078c37e594ec7a51aa222
也可以使用像this one这样的命令列出所有(可到达的)blob和文件名(可能有很多变化)。
使用它,你可以grep你的哈希:
git rev-list --objects --all | git cat-file --batch-check='%(objectname) %(objecttype) %(rest)' | grep '^[^ ]* blob' | cut -d" " -f1,3- | grep c675fb0fe881673391f078c37e594ec7a51aa222