美文网首页#iOS#HeminWoniOS进阶指南IOS
添加git的commit作为版本号

添加git的commit作为版本号

作者: 尧月 | 来源:发表于2016-04-08 18:19 被阅读2236次

之前使用的是svn,svn每次提交的版本号是一个数字,用来作为内部版本号,确定打出的包所对应的代码库版本。

后来换到git,发现git每一次commit的版本号是个哈希值。如果想要继续使用数字作为版本号的话,也是可以的,只需要计算出commit的次数就可以了。

获取所有分支的提交:

git rev-list --all|wc -l

--all替换为HEAD,就可以获取当前分支的提交次数了。

其实使用commit的哈希值作为版本号也是可以的,获取最新的一次提交的哈希值的前七个字符(应该够用了),

这样:

git rev-list HEAD --abbrev-commit --max-count=1

这篇文章,是如何把git提交次数作为app的内部版本号的。

但是原文有个问题,使用了CFBundleShortVersionString,这个应该是应用的版本号,比如2.13.0,这里其实应该设置的是build号,应该使用CFBundleVersion

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion `git rev-list HEAD | wc -l | awk '{print $1}'`" "${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}

这里用到了PlistBuddy,这是个可以对plist文件进行读写的工具,终端中执行/usr/libexec/PlistBuddy -h就可以查看其帮助了。


对于创建framework的工程,没有info.plist文件,只能自己设置了。如下:

FMK_NAME=MAMapKit
FMK_GIT=`git rev-list HEAD --abbrev-commit --max-count=1`
FMK_VERSION="2.5.0.${FMK_GIT}"
INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework

注:以上脚本需要放到target的Run Script中去执行

相关文章

  • 添加git的commit作为版本号

    之前使用的是svn,svn每次提交的版本号是一个数字,用来作为内部版本号,确定打出的包所对应的代码库版本。 后来换...

  • git_1

    初始化文件夹git init 添加文件git add code.pygit commit -m '版本号'git ...

  • git撤回已经push到远端的版本

    使用git log找到commit的版本号xxx; git reset --hard <版本号xxx>,即可撤回到...

  • git关于版本的命令

    git log 查看过往修改的版本 commit是每次执行git commit -am "标识"的标识版本号。图中...

  • Git-简单命令使用

    Git commit -m "" 只会提交添加到缓存区的文件(只提交添加的) git commit -a -m "...

  • git相关

    git add git commit -m 'mm' git reset --hard 版本号(HEAD^上一个)...

  • Git fixBug

    //回滚单个文件git checkout {版本号} 文件名git add .git commit //stash...

  • Git命令手册

    git add fiel 添加文件 git add -A 递归添加 git commit -m "msg" -a提...

  • 我的常用命令

    Git git clone 克隆git pull 拉取git add 添加git commit -m ""...

  • git常用总结

    git status 检查状态git add . 添加git commit -m "xxxxxxxxxxx" 提交...

网友评论

本文标题:添加git的commit作为版本号

本文链接:https://www.haomeiwen.com/subject/nrbvlttx.html