如何在SourceTree中自动创建标记

时间:2015-11-05 06:30:47

标签: android ios git version-control atlassian-sourcetree

当要提交的编码有版本更改时,是否可以在SourceTree中自动创建标签?

例如,对于iOS开发,如果CFBundleVersion更改为12CFBundleShortVersionString更改为1.1.2,请创建标记v1.1.2-b12

对于Android,每次v[versionName]-b[versionCode]versionCode更改时都会创建一个名为versionName的标记。

2 个答案:

答案 0 :(得分:3)

您可以使用post-commit-hook执行此操作,如this blogpost中所述。对于npm package.json文件,您的.git/hooks/post-commit看起来与此类似:

#! /bin/bash
version=`git diff HEAD^..HEAD -- "$(git rev-parse --show-toplevel)"/package.json | grep '^\+.*version' | sed -s 's/[^0-9\.]//g'`

if [ "$version" != "" ]; then
    git tag -a "v$version" -m "`git log -1 --format=%s`"
    echo "Created a new tag, v$version"
fi

基本上,您从第一行的plist.info中获取所需的版本字符串,并在if - 语句中创建一个新标记。

答案 1 :(得分:1)

查看client hooks,您可以考虑post-commit hook,它会查看最后一次提交git log -p -l,以及它是否检测到CFBundleVersion或{{1}中的更改创建标记。

SourceTree won't influence that hook