Вы не первый, кто задумывается о «номере ревизии» в Git , но « wc
» довольно опасен, поскольку коммит можно стереть или сжать, а историю пересмотреть.
«Номер редакции» был особенно важен для Subversion, поскольку он был необходим в случае слияния (SVN1.5 и 1.6 улучшились в этом направлении).
Вы можете получить хук предварительной фиксации, который будет включать номер комментария в комментарии, с алгоритмом, не предусматривающим поиск всей истории ветви для определения правильного номера.
Базар на самом деле придумал такой алгоритм , и он может стать хорошей отправной точкой для того, что вы хотите сделать.
(Как указывает ответ Bombe , Git на самом деле имеет собственный алгоритм, основанный на последнем теге, плюс количество коммитов, плюс немного ключа SHA-1). Вы должны увидеть (и подтвердить) его ответ, если он работает для вас.
Чтобы проиллюстрировать идею Аарона , вы также можете добавить хеш коммита Git в файл «info» приложения, который вы распространяете вместе с вашим приложением.
Таким образом, окно about будет выглядеть так:
Аппликативный номер является частью фиксации, но «файл информации» приложения генерируется во время процесса упаковки, эффективно связывая аппликативный номер сборки с идентификатором технической версии .