#!/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 远程仓库"