2015-11-05 49 views
2

當提交的編碼發生版本變化時,是否可以在SourceTree中自動創建標籤?如何在SourceTree中自動創建標籤

例如,對於iOS開發,如果CFBundleVersion更改爲12CFBundleShortVersionString更改爲1.1.2,創建一個標籤v1.1.2-b12

對於Android,每次創建一個名爲v[versionName]-b[versionCode]的標籤versionCodeversionName已更改。

回答

3

您可以使用post-commit-hook來完成此操作,如this blogpost中所述。你.git/hooks/post-commit將類似於這一個的NPM的package.json文件:

#! /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 

從本質上講,你從你的grep plist.info所需版本字符串中的第一行,並創建在if語句來一個新的標籤。

+1

這似乎比我的答案更詳細/具體。 +1 – VonC