Initial commit: OpenClaw workspace setup

This commit is contained in:
unknown
2026-03-20 10:36:01 +08:00
commit 77d6c9944d
13 changed files with 809 additions and 0 deletions
+85
View File
@@ -0,0 +1,85 @@
#!/bin/bash
# git-auto-commit.sh - 自动提交指定目录到 Gitea
# 用法: ./git-auto-commit.sh [目录路径]
set -e
# 配置
REPO_URL="https://gittea.dev/popiskill/skills.git"
BRANCH="master"
COMMIT_MSG="Auto commit: $(date '+%Y-%m-%d %H:%M:%S')"
DEFAULT_SOURCE_DIR="/c/ai/openclaw" # Git Bash 路径格式 (对应 C:\ai\openclaw)
# 从配置文件读取凭证
CONFIG_FILE="$(dirname "$0")/git-config.env"
if [ ! -f "$CONFIG_FILE" ]; then
echo "错误: 配置文件不存在: $CONFIG_FILE"
echo "请创建配置文件并设置 GIT_USERNAME 和 GIT_PASSWORD"
exit 1
fi
source "$CONFIG_FILE"
if [ -z "$GIT_USERNAME" ] || [ -z "$GIT_PASSWORD" ]; then
echo "错误: 请在配置文件中设置 GIT_USERNAME 和 GIT_PASSWORD"
exit 1
fi
# 检查参数,使用默认值
if [ $# -lt 1 ]; then
SOURCE_DIR="$DEFAULT_SOURCE_DIR"
echo "未指定目录,使用默认: $SOURCE_DIR"
else
SOURCE_DIR="$1"
fi
if [ ! -d "$SOURCE_DIR" ]; then
echo "错误: 目录不存在: $SOURCE_DIR"
exit 1
fi
# 创建工作目录
WORK_DIR=$(mktemp -d)
trap "rm -rf $WORK_DIR" EXIT
echo "工作目录: $WORK_DIR"
echo "源目录: $SOURCE_DIR"
# 克隆仓库或初始化
cd "$WORK_DIR"
# 构建带凭证的 URL
AUTH_URL="https://${GIT_USERNAME}:${GIT_PASSWORD}@${REPO_URL#https://}"
# 尝试克隆现有仓库
if git clone "$AUTH_URL" . 2>/dev/null; then
echo "已克隆现有仓库"
else
echo "初始化新仓库..."
git init
git remote add origin "$AUTH_URL"
fi
# 复制文件到仓库
echo "复制文件..."
rsync -av --delete --exclude='.git' --exclude='.openclaw/' "$SOURCE_DIR/" .
# 配置 git
git config user.email "auto@commit.local"
git config user.name "Auto Commit"
# 添加所有更改
git add -A
# 检查是否有更改要提交
if git diff --cached --quiet; then
echo "没有更改需要提交"
exit 0
fi
# 提交并推送
git commit -m "$COMMIT_MSG"
git push origin "$BRANCH"
echo "✓ 成功提交到 $REPO_URL"