#!/bin/bash # 创建新任务脚本 - 带git容错处理 # 改进逻辑:每次创建前自动commit所有现有变更,避免unstaged changes问题 TASK_ID="TASK-$(date +%Y%m%d%H%M%S)" TASK_FILE="management/tasks/pending/${TASK_ID}.md" mkdir -p management/tasks/pending echo "# 任务ID: $TASK_ID" > "$TASK_FILE" echo "# 状态: pending" >> "$TASK_FILE" echo "# 负责人: " >> "$TASK_FILE" echo "# 创建时间: $(date)" >> "$TASK_FILE" echo "" >> "$TASK_FILE" echo "## 任务需求" >> "$TASK_FILE" echo "$1" >> "$TASK_FILE" # Git处理,带容错 # 改进:每次创建前自动commit所有现有变更,解决批量创建时的unstaged changes问题 echo "🔄 正在同步现有变更..." git add . > /dev/null 2>&1 # 如果有变更就commit,失败(nothing to commit)也继续往下走 git commit -m "sync: 自动同步未提交变更 [create $TASK_ID]" > /dev/null 2>&1 # commit失败也继续,不退出 echo "🔄 正在拉取最新代码..." git pull origin main if [ $? -ne 0 ]; then echo "⚠️ git pull 失败,请先解决冲突后再" exit 1 fi git add "$TASK_FILE" # commit失败也继续 git commit -m "feat: 创建新任务 $TASK_ID" > /dev/null 2>&1 git push origin main if [ $? -ne 0 ]; then echo "⚠️ git push 失败" exit 1 fi echo "✅ 任务创建成功: $TASK_ID" echo "📄 文件: $TASK_FILE" echo "🌐 已推送到 Gitee"