Можно ли добавить номер версии с помощью git/github
Я использую Github и понимаю, что у них есть приятная небольшая api для доступа к информации репо, например, коммиты, кто это сделал и т.д.
Это был бы отличный способ показать предыдущие версии проекта на внешнем сайте, но мне было интересно, есть ли известный способ добавить номер версии к главной фиксации?
Таким образом, номер версии будет либо автоматически увеличиваться с каждым фиксатором, либо я могу вручную установить его.
Я знаю, что могу добавить его в заметки, но я не знаю, есть ли способ разделить его.
Ответы
Ответ 1
Вы можете использовать тег для установки номера версии. Вы можете прочитать о команде тега на странице git. На работе я настраиваю наш сервер сборки для автоматического увеличения номера версии сборки, который затем применяется с использованием тега. Я думаю, что это удовлетворит ваши потребности?
Ответ 2
Существует два типа тегов, номер сборки и номер версии. Номер версии может быть применен как тег лицом, когда товар отправляется. Этот тег является историческим и идентифицирует значительные события (например, доставку продукта).
Номер сборки полезен для определения того, какая сборка вы используете относительно некоторой начальной точки. Комбинация git -tag и git -describe обеспечивает хорошее средство для создания номера сборки, который может быть встроен в сборку. git -describe может найти определенный предыдущий тег с шаблоном glob. Результаты описания git будут отформатированы следующим образом:
tagname-[0-9]+-g[0-9a-f]+
Если первым шаблоном является количество коммитов из тега, а второй шаблон - хеш текущего фиксации. Это может быть красиво отформатировано в номер сборки. Включение хэша (по крайней мере, первых 7 символов) упрощает идентификацию конкретной фиксации, связанной с сборкой.
Например, git описать может вернуть release-2.2-42-gd788e0e
. Это можно отформатировать, чтобы стать release-2.2 build 42 (d788e0e)
.
Ответ 3
Как уже говорилось, проверьте команду git -tag, и вы можете комбинировать ее с крючком, чтобы он автоматически обновлялся при выполнении определенной вещи, например, выталкивая мастер.
проверить http://git-scm.com/book/en/Customizing-Git-Git-Hooks
Ответ 4
Я использую это:
function git_func {
GITBIN=/usr/bin/git
if [[ $1 == "commit" ]] && [[ "$#" -ne 1 ]]
then
GIT_VERSION=`$GITBIN rev-list HEAD | wc -l`
let GIT_VERSION+=1
perl -e "s/(\d+\.\d+\.)\d+/\${1}$GIT_VERSION/;" -pi.save config.json
rm config.json.save
fi
GITCMD="$GITBIN "
for var in "[email protected]"
do
GITCMD="$GITCMD \"$var\""
done
eval $GITCMD
}
alias git='git_func'
config.json
содержит следующее:
"version": "0.1.44"
Ответ 5
Большинство людей используют git-tag для этого.
Отъезд Vagrant... прокрутите вниз теги, вы увидите все версии.