说我有一个blob的SHA。我可以去git show并查看blob的内容。是否有可能获得包含该blob的所有提交的列表?
答案 0 :(得分:10)
以下scriptlet可以解决这个问题:
#!/bin/sh
blob=deadbeefdeadbeefdeadbeefdeadbeef
git rev-list --all |
while read commit; do
if git ls-tree -r $commit | grep -q $blob; then
echo $commit
fi
done
答案 1 :(得分:0)
可能有点迟了,但是git show <abbrev-sha1>
会显示该blob的内容等。git cat-file blob <abbrev-sha1>
也会git cat-file -t <abbrev-sha1>
使用index
检查它是否为blob。
获取包含它的第一个(或最后一个)提交似乎并不容易(例如从补丁的差异 'api' => 'APIController',
行确定,该补丁来自哪里)