Использование синтаксиса Bash,
$(git rev-list --count HEAD)
выглядит прекрасно для чисто линейной истории. Если вы также хотите иногда иметь «числа» из веток (исходя из master
), подумайте:
$(git rev-list --count $(git merge-base master HEAD)).$(git rev-list --count ^master HEAD)
При запуске из кассы master
вы получаете просто 1234.0
или подобное. При запуске из проверки ветки вы получите что-то вроде 1234.13
, если в этой ветке было сделано 13 коммитов. Очевидно, что это полезно только в том случае, если вы основываете не более одной ветви от данной master
ревизии.
--first-parent
может быть добавлено к микро-номеру для подавления некоторых коммитов, возникающих только в результате слияния других ветвей, хотя это, вероятно, не нужно.