init
This commit is contained in:
55
scripts/release_tag.sh
Normal file
55
scripts/release_tag.sh
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/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 远程仓库"
|
||||
Reference in New Issue
Block a user