Spaces:
Build error
Build error
File size: 3,164 Bytes
14f6b4f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
#!/bin/bash
# 自动提交脚本 - 每次修改代码后自动提交
# 设置环境变量防止交互
export CI=true
export DEBIAN_FRONTEND=noninteractive
export GIT_TERMINAL_PROMPT=0
export GCM_INTERACTIVE=never
export HOMEBREW_NO_AUTO_UPDATE=1
export GIT_EDITOR=:
export EDITOR=:
export VISUAL=''
export GIT_SEQUENCE_EDITOR=: GIT_MERGE_AUTOEDIT=no
export GIT_PAGER=cat
export PAGER=cat
export npm_config_yes=true
export PIP_NO_INPUT=1
export YARN_ENABLE_IMMUTABLE_INSTALLS=false
echo "🔍 检查 Git 状态..."
# 检查是否有修改或未跟踪的文件
if [ -n "$(git status --porcelain)" ]; then
echo "📝 发现变更,准备提交..."
# 添加所有变更
git add .
# 获取当前时间作为提交信息的一部分
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# 检查是否有修改的文件
MODIFIED_FILES=$(git diff --name-only --cached HEAD~1 HEAD 2>/dev/null || echo "")
# 检查是否有新文件
NEW_FILES=$(git diff --name-only --diff-filter=A --cached HEAD 2>/dev/null || echo "")
# 生成智能提交信息
if [ -n "$MODIFIED_FILES" ]; then
if echo "$MODIFIED_FILES" | grep -q "Dockerfile"; then
COMMIT_TYPE="Dockerfile修复"
elif echo "$MODIFIED_FILES" | grep -q "\.py$"; then
COMMIT_TYPE="代码更新"
elif echo "$MODIFIED_FILES" | grep -q "requirements\.txt"; then
COMMIT_TYPE="依赖更新"
else
COMMIT_TYPE="配置更新"
fi
elif [ -n "$NEW_FILES" ]; then
if echo "$NEW_FILES" | grep -q "auto_repair\|monitor\|error_analyzer"; then
COMMIT_TYPE="监控系统开发"
elif echo "$NEW_FILES" | grep -q "dashboard\|notification"; then
COMMIT_TYPE="用户界面开发"
else
COMMIT_TYPE="功能开发"
fi
else
COMMIT_TYPE="更新"
fi
# 统计文件数量
TOTAL_FILES=$(git status --porcelain | wc -l)
# 生成提交信息
COMMIT_MSG="${COMMIT_TYPE}: ${TIMESTAMP}
📁 变更文件: ${TOTAL_FILES}个
🔧 修改: $(echo "$MODIFIED_FILES" | wc -w)个
📝 新增: $(echo "$NEW_FILES" | wc -w)个"
echo "📝 提交信息: ${COMMIT_MSG}"
# 提交变更
git commit -m "${COMMIT_MSG}"
# 推送到远程仓库
echo "🚀 推送到远程仓库..."
if git push origin main; then
echo "✅ 成功推送到 HuggingFace Spaces"
# 获取最新提交哈希
LATEST_COMMIT=$(git rev-parse --short HEAD)
echo "📋 最新提交: ${LATEST_COMMIT}"
# 显示提交详情
echo ""
echo "📊 提交详情:"
echo " - 提交类型: ${COMMIT_TYPE}"
echo " - 时间戳: ${TIMESTAMP}"
echo " - 文件数量: ${TOTAL_FILES}"
echo " - 提交哈希: ${LATEST_COMMIT}"
echo ""
echo "🔄 HuggingFace Spaces 将自动构建..."
else
echo "❌ 推送失败,请检查网络连接或权限"
exit 1
fi
else
echo "✅ 没有检测到变更,无需提交"
fi
echo "🎯 自动提交脚本执行完成" |