Как показать git commit, используя количество коммитов с момента метки

С помощью git describe вы можете получить количество коммитов с момента последней метки. Если у вас есть только метка и количество коммитов, какой лучший способ показать коммит, который был описан?

Я знаю, что можно использовать git log tag... и передать его скрипту, который выполняет подсчёт, но я надеялся на более элегантное решение, подобное git show tag~n.

Чтобы добавить больше контекста, мы планируем использовать git describe для создания номеров релизов, например, с

$ git describe
v1.5-39-g5ede964

мы бы использовали foo_1.5.39. Мы хотели бы сделать следующее: зная, что 1.5.39 означает 39-й коммит после тега v1.5, найти этот коммит, т.е. найти g5ede964. Как было указано в комментарии, 39-й коммит после v1.5 может быть не уникальным. Поэтому, возможно, лучше спросить, какой лучший способ найти все коммиты X так, чтобы, если HEAD указывает на X, git describe вернул. v1.5-39-*****.

20
задан Joel 22 December 2011 в 10:34
поделиться