Initial commit: OpenClaw workspace setup
This commit is contained in:
@@ -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"
|
||||
Reference in New Issue
Block a user