| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/bash
- # 版本标签创建与推送脚本
- # 使用方法: ./release_tag.sh v0.0.3
- # 检查是否提供了版本号参数
- if [ -z "$1" ]; then
- echo "错误: 请提供版本号作为参数"
- echo "用法: $0 <版本号>"
- echo "示例: $0 v1.2.3"
- exit 1
- fi
- # 获取版本号参数
- VERSION=$1
- # 检查是否在 Git 仓库中
- if ! git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
- echo "错误: 当前目录不是 Git 仓库"
- exit 1
- fi
- # 检查是否有未提交的更改
- if [ -n "$(git status --porcelain)" ]; then
- echo "警告: 有未提交的更改,建议先提交"
- read -p "是否继续? (y/n): " response
- if [[ ! $response =~ ^[Yy]$ ]]; then
- exit 1
- fi
- fi
- # 检查远程仓库是否存在
- if ! git remote | grep -q "gitea"; then
- echo "错误: 未找到名为 'gitea' 的远程仓库"
- exit 1
- fi
- # 创建并推送标签
- echo "正在创建标签: $VERSION"
- git tag "$VERSION"
- if [ $? -ne 0 ]; then
- echo "错误: 创建标签失败"
- exit 1
- fi
- echo "正在推送标签到 gitea 远程仓库..."
- git push gitea "$VERSION"
- if [ $? -ne 0 ]; then
- echo "错误: 推送标签失败"
- exit 1
- fi
- echo "成功! 标签 $VERSION 已创建并推送到 gitea 远程仓库"
|