2012-05-14 2 views
5

Wenn ich eine bestimmte Baum ls-tree und eine Liste von Blobs und Bäumen, wie kann ich die letzte Commit in Bezug auf diese Blobs und Bäume zu entdecken? Ich bin auf der Suche nach etwas in der Art:Wie kann das letzte zugehörige Commit basierend auf Blob/Tree-Hash erkannt werden?

$ 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

[Diese Frage] (http://stackoverflow.com/questions/223678/git-which-commit-has-this-blob) ist die gleiche Sache zu fragen und hat einige Antworten, die Sie bekommen, was Sie wollen. Es ist im Grunde ein iterativer Prozess, während Sie durch alle Commits gehen und nach dem suchen, der den referenzierten Blob enthält. – larsks

+1

Können Sie erklären, warum dieser Beitrag Ihre Frage nicht beantwortet [Welchen Commit hat dieser Blob?] (Http://stackoverflow.com/q/223678/11343) – CharlesB

Antwort

3

Ich bin etwas verwirrt. Ich verstehe nicht, warum du sowas brauchst. Aber ich denke, das ist, was Sie wollen-

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 
Verwandte Themen