Ответ 1
Вы можете использовать "git name-rev", чтобы получить форму, о которой вы спрашиваете. Одна проблема с этой формой заключается в том, что, будучи относительно ветки, это не постоянное имя. Таким образом, альтернатива "git описать", которая создает альтернативное дружественное имя, основанное на том, насколько далеко впереди тег данная фиксация.
Например:
[email protected]:~/src/git <master>$ git name-rev 3cd7388
3cd7388 master~2
Но после того, как я сделаю "git pull", master ~ 2 может означать что-то еще. Напротив:
[email protected]:~/src/git <master>$ git describe 3cd7388
v1.6.3.1-153-g3cd7388
Теперь "v1.6.3.1-153-g3cd7388" является постоянным именем. Конечно, он все еще немного длинный (хотя вы можете сократить хэш-бит в конце, указав, например, "-abbrev = 4" ), но он сообщает, что 3cd7388 имеет 153 изменения после версии 1.6.3.1.