android - 如何在SourceTree中自动创建标签

标签 android ios git version-control atlassian-sourcetree

当要提交的代码有版本变化时,是否可以在SourceTree中自动创建Tags?

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

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

最佳答案

您可以使用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 中 grep 所需的版本字符串,并在 if 语句中创建一个新标记。

关于android - 如何在SourceTree中自动创建标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538010/

相关文章:

ios - 无法自动选择 Xcode 项目

ios - Segue to popover for iPhone 在 iOS 10 中不起作用?

android - 配置kotlin插件更新失败?

android - 无法使用 “Generate gradle build files”选项导出ADT项目

ios - ios 中 USDZ 文件位于我的头顶

git - 如何从 GitHub 存储库中的环境中删除 github-pages?

windows - Windows 的源代码树似乎无法使用有效的 SSH key

android - 如何开始将 Git 与 Android Studio 集成?

javascript - Angular 应用程序无法在原生 Android 浏览器上加载

android - 来自 ListFragment 的 startActivityForResult 似乎没有调用 onActivityResult