Я не думаю, что для этого есть команда с одним выстрелом - объектная модель git делает довольно трудоемким возврат из блоба к коммитам, которые могут ссылаться на него.Вот один из способов сделать это.Прежде всего, найдите хеш файла, который будет использовать git, с:
git hash-object foo.c
Предположим, что возвращает f414f31
.Затем вы можете использовать скрипт, подобный следующему:
for c in $(git rev-list --all)
do
( git ls-tree -r $c | grep f414f31 ) && echo Found the blob in commit: $c
done
..., чтобы показать все коммиты, которые содержат этот BLOB-объект.Если вы хотите узнать, в каких ветвях находятся эти коммиты, вы можете сделать:
git branch -a --contains 1a2b3c4d