當提交的編碼發生版本變化時,是否可以在SourceTree中自動創建標籤?如何在SourceTree中自動創建標籤
例如,對於iOS開發,如果CFBundleVersion
更改爲12
或CFBundleShortVersionString
更改爲1.1.2
,創建一個標籤v1.1.2-b12
。
對於Android,每次創建一個名爲v[versionName]-b[versionCode]
的標籤versionCode
或versionName
已更改。
當提交的編碼發生版本變化時,是否可以在SourceTree中自動創建標籤?如何在SourceTree中自動創建標籤
例如,對於iOS開發,如果CFBundleVersion
更改爲12
或CFBundleShortVersionString
更改爲1.1.2
,創建一個標籤v1.1.2-b12
。
對於Android,每次創建一個名爲v[versionName]-b[versionCode]
的標籤versionCode
或versionName
已更改。
您可以使用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
語句來一個新的標籤。
看着client hooks,你可以考慮post-commit hook,這將看看最後一次提交的git登錄-p -l,如果它檢測到CFBundleVersion
或CFBundleShortVersionString
更改,創建標籤。
這似乎比我的答案更詳細/具體。 +1 – VonC