Подтвердить что ты не робот

Можно ли добавить номер версии с помощью git/github

Я использую Github и понимаю, что у них есть приятная небольшая api для доступа к информации репо, например, коммиты, кто это сделал и т.д.

Это был бы отличный способ показать предыдущие версии проекта на внешнем сайте, но мне было интересно, есть ли известный способ добавить номер версии к главной фиксации?

Таким образом, номер версии будет либо автоматически увеличиваться с каждым фиксатором, либо я могу вручную установить его.

Я знаю, что могу добавить его в заметки, но я не знаю, есть ли способ разделить его.

4b9b3361

Ответ 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... прокрутите вниз теги, вы увидите все версии.