Is it possible to add a version number using git / github

前端 未结 5 1338
逝去的感伤
逝去的感伤 2020-12-08 20:04

I\'m using Github, and realized they have a nice little api for accessing repo information like commits, who did it, etc.

This would be a great way to show previous

相关标签:
5条回答
  • 2020-12-08 20:41

    You can use a tag to set a version number. You can read about the tag command on the git tag man page. At work I setup our build server to automatically increment a build version number which is then applied using a tag. I think this will meet your needs?

    0 讨论(0)
  • 2020-12-08 20:43

    There are two kinds tags to consider, a build number and a version number. A version number can be applied as a tag by a person when the product ships. This tag is historical and identifies significant events (e.g. shipping the product).

    The build number is useful for identifying which build you are on relative to some starting point. The combination of git-tag and git-describe provide a nice means of generating a build number that can be embedded into a build. git-describe can locate a specific previous tag with a glob pattern. The results of git describe will be formatted as:

    tagname-[0-9]+-g[0-9a-f]+
    

    Where the first pattern is the number of commits from the tag and the second pattern is the hash of the current commit. This can be nicely formatted into a build number. Including the hash (at least the first 7 characters) makes it simple to identify the specific commit associated with the build.

    For example, git describe could return release-2.2-42-gd788e0e. This could be formatted to become release-2.2 build 42 (d788e0e).

    0 讨论(0)
  • 2020-12-08 20:51

    Most people use git-tag for this.

    Check out Vagrant...scroll down the tags, you'll see all the versions.

    0 讨论(0)
  • 2020-12-08 20:53

    I'm using this:

    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 "$@"
        do
            GITCMD="$GITCMD \"$var\""
        done
        eval $GITCMD
    }
    
    
    alias git='git_func'
    

    config.json contains this:

    "version": "0.1.44" 
    
    0 讨论(0)
  • 2020-12-08 20:59

    As previously said, check the git-tag command and you can combine it with a hook so it automatically updates upon doing a certain thing for example pushing out master.

    check out http://git-scm.com/book/en/Customizing-Git-Git-Hooks

    0 讨论(0)
提交回复
热议问题