2012-05-14 6 views
5

Если я ls-tree определенное дерево и получить список капель и деревьев, как я могу узнать последнее сообщение, связанное с этими блобами и деревьями? Я ищу что-то вроде этого:Как найти последнюю связанную фиксацию на основе хэша blob/tree?

$ git ls-tree HEAD 
... 
100644 blob 734713bc047d87bf7eac9674765ae793478c50d3 myfile 
... 
$ git show --commit 734713bc047d87bf7eac9674765ae793478c50d3 
commit 734713bc047d87bf7eac9674765ae793478c50d3 
Author: Scott Chacon <[email protected]> 
Date: Fri Jan 2 18:32:33 2009 -0800 

    fixed refs handling, added gc auto, updated tests 
+1

[Этот вопрос] (http://stackoverflow.com/questions/223678/git-which-commit-has-this-blob) спрашивает то же самое , и есть некоторые ответы, которые доставят вам то, что вы хотите. Это в основном итеративный процесс, когда вы проходите все коммиты, которые ищут тот, который содержит ссылочный blob. – larsks

+1

Можете ли вы объяснить, почему этот пост не отвечает на ваш вопрос [Какая фиксация имеет этот blob?] (Http://stackoverflow.com/q/223678/11343) – CharlesB

ответ

3

Я немного смущен. Я не понимаю, зачем вам это нужно. Но, я думаю, что это то, что вы want-

git ls-tree --name-only HEAD | while read file; do git log -n 1 --date=short --pretty="$file, author: %an, commit: %h, date: %ad, msg: '%s'" -- $file; done 
Смежные вопросы