|
|
@@ -20,36 +20,63 @@ if ! git rev-parse --git-dir > /dev/null 2>&1; then
|
|
20
|
20
|
exit 1
|
|
21
|
21
|
fi
|
|
22
|
22
|
|
|
23
|
|
-# 检查是否有未暂存的更改
|
|
24
|
|
-if [ -z "$(git status --porcelain)" ]; then
|
|
25
|
|
- echo "提示: 没有检测到任何更改需要提交。"
|
|
26
|
|
- exit 0
|
|
27
|
|
-fi
|
|
28
|
|
-
|
|
29
|
|
-echo "开始提交并打版本标签..."
|
|
|
23
|
+echo "开始处理提交和版本标签..."
|
|
30
|
24
|
echo "提交描述: $COMMIT_MESSAGE"
|
|
31
|
25
|
echo "版本标签: $VERSION_TAG"
|
|
32
|
26
|
|
|
33
|
|
-# 添加所有更改到暂存区[citation:4][citation:6]
|
|
34
|
|
-git add .
|
|
|
27
|
+# 检查是否有未提交的更改
|
|
|
28
|
+if [ -n "$(git status --porcelain)" ]; then
|
|
|
29
|
+ echo "检测到未提交的更改,正在提交..."
|
|
|
30
|
+
|
|
|
31
|
+ # 添加所有更改到暂存区
|
|
|
32
|
+ git add .
|
|
|
33
|
+
|
|
|
34
|
+ # 进行提交
|
|
|
35
|
+ git commit -m "$COMMIT_MESSAGE"
|
|
|
36
|
+ if [ $? -ne 0 ]; then
|
|
|
37
|
+ echo "错误: 提交失败。"
|
|
|
38
|
+ exit 1
|
|
|
39
|
+ fi
|
|
|
40
|
+ echo "✅ 更改已提交"
|
|
|
41
|
+else
|
|
|
42
|
+ echo "提示: 没有未提交的更改,跳过提交步骤"
|
|
|
43
|
+
|
|
|
44
|
+ # 检查是否有未提交的commit但未推送
|
|
|
45
|
+ LOCAL_COMMITS=$(git log @{u}..HEAD --oneline 2>/dev/null | wc -l)
|
|
|
46
|
+ if [ $LOCAL_COMMITS -eq 0 ]; then
|
|
|
47
|
+ echo "错误: 没有需要推送的提交。"
|
|
|
48
|
+ exit 1
|
|
|
49
|
+ else
|
|
|
50
|
+ echo "检测到 $LOCAL_COMMITS 个本地提交等待推送"
|
|
|
51
|
+ fi
|
|
|
52
|
+fi
|
|
35
|
53
|
|
|
36
|
|
-# 进行提交[citation:4][citation:10]
|
|
37
|
|
-git commit -m "$COMMIT_MESSAGE"
|
|
38
|
|
-if [ $? -ne 0 ]; then
|
|
39
|
|
- echo "错误: 提交失败。"
|
|
|
54
|
+# 检查标签是否已存在
|
|
|
55
|
+if git rev-parse "$VERSION_TAG" >/dev/null 2>&1; then
|
|
|
56
|
+ echo "错误: 标签 '$VERSION_TAG' 已经存在。"
|
|
40
|
57
|
exit 1
|
|
41
|
58
|
fi
|
|
42
|
59
|
|
|
43
|
|
-# 创建轻量标签或附注标签(这里创建轻量标签)[citation:4]
|
|
|
60
|
+# 创建标签
|
|
44
|
61
|
git tag "$VERSION_TAG"
|
|
45
|
62
|
if [ $? -ne 0 ]; then
|
|
46
|
63
|
echo "错误: 创建标签失败。"
|
|
47
|
64
|
exit 1
|
|
48
|
65
|
fi
|
|
|
66
|
+echo "✅ 标签 '$VERSION_TAG' 已创建"
|
|
49
|
67
|
|
|
50
|
|
-# 推送到远程仓库并推送标签[citation:4]
|
|
|
68
|
+# 推送到远程仓库并推送标签
|
|
51
|
69
|
echo "正在推送到远程仓库..."
|
|
52
|
70
|
git push
|
|
|
71
|
+if [ $? -ne 0 ]; then
|
|
|
72
|
+ echo "错误: 推送提交失败。"
|
|
|
73
|
+ exit 1
|
|
|
74
|
+fi
|
|
|
75
|
+
|
|
53
|
76
|
git push origin "$VERSION_TAG"
|
|
|
77
|
+if [ $? -ne 0 ]; then
|
|
|
78
|
+ echo "错误: 推送标签失败。"
|
|
|
79
|
+ exit 1
|
|
|
80
|
+fi
|
|
54
|
81
|
|
|
55
|
82
|
echo "✅ 完成!提交已推送,版本标签 $VERSION_TAG 已创建并推送。"
|