Git List由Blob提交

时间:2012-05-22 20:58:25

标签: git

说我有一个blob的SHA。我可以去git show并查看blob的内容。是否有可能获得包含该blob的所有提交的列表?

2 个答案:

答案 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', 行确定,该补丁来自哪里)