- 创建 VERSION_CONTROL.md - 完整的版本控制管理指南 - 添加 auto-backup.sh - 自动备份脚本,支持增量备份 - 完善 Git 工作流,支持小说章节的版本管理 - 解决重复版本混乱问题,实现系统化版本控制
8.5 KiB
8.5 KiB
版本控制管理指南 - 番茄小说创作
🎯 版本控制目标
1. 版本管理
- 每次修改都有清晰的记录
- 可以随时恢复到任意版本
- 多个副本同时开发互不干扰
2. 协作支持
- 适合一人多设备创作
- 支持未来多人协作
- 清晰的职责划分
🏗️ Git 工作区结构
核心配置
workspace/
├── AGENTS.md # 工作区核心配置文件
├── SOUL.md # 身份配置文件
├── USER.md # 用户信息文件
├── MEMORY.md # 长期记忆文件
├── TOOLS.md # 本地工具配置
├── HEARTBEAT.md # 心跳检查配置
├── BOOTSTRAP.md # 引导文件(可删除)
├── VERSION_CONTROL.md # 此文件
├── GIT_WORKFLOW.md # Git 工作流详情
├── .gitignore # Git 忽略规则
├── memory/ # 日记录文件夹
├── novel/ # 小说内容文件夹
├── scripts/ # 工具脚本文件夹
│ ├── git-setup.sh # Git 工作区初始化
│ ├── git-daily.sh # 每日管理脚本
│ ├── git-novel-workflow.sh # 小说工作流
│ └── auto-backup.sh # 自动备份脚本
└── backups/ # 备份文件夹
3. 灾难恢复
- 本地和远程双重备份
- 数据丢失风险最小化
- 快速重建工作区
📋 主要脚本说明
git-setup.sh
用途: 初始化Git工作区 功能:
- 设置Git用户信息
- 创建必要的目录
- 配置Git别名
- 设置提交信息模板
# 运行方法
./scripts/git-setup.sh
git-daily.sh
用途: 日常版本管理 功能:
- 检查未提交的变更
- 生成提交信息
- 拉取远程更新
- 推送本地变更
# 运行方法
./scripts/git-daily.sh
git-novel-workflow.sh
用途: 小说创作专用工作流 功能:
start <chapter-name>开始新章节save <chapter-num>保存章节进度finish <chapter-num>完成章节backup创建备份restore <chapter-num>恢复版本
# 运行方法
./scripts/git-novel-workflow.sh start chapter-19
auto-backup.sh
用途: 自动备份工作区 功能:
- 打包工作区
- 压缩备份
- 清理旧备份
- 保留最新30个备份
🔧 快速开始
1. 初始化Git工作区
./scripts/git-setup.sh
作用: 完成基础配置
2. 添加新章节
./scripts/git-novel-workflow.sh start chapter-19
作用: 创建章节分支并开始创作
3. 日常提交
# 选项1:手动运行
./scripts/git-daily.sh
# 选项2:配置自动运行(推荐)
# 添加到 crontab -e 中:
# 0 */3 * * * cd /root/.openclaw/workspace && ./scripts/git-daily.sh >/dev/null 2>&1
4. 定期备份
./scripts/auto-backup.sh
作用: 创建工作区完整备份
🚀 Git 工作流使用指南
章节开发
# 1. 开始新章节
./scripts/git-novel-workflow.sh start chapter-19
# 2. 创作过程中保存进度
./scripts/git-novel-workflow.sh save 19
# 3. 完成章节
./scripts/git-novel-workflow.sh finish 19
日常操作
# 1. 检查状态
git status
# 2. 提交日常变更
git add .
git commit -m "feat(chapter-19): 保存进度"
# 3. 同步远程
git pull origin develop
git push origin develop
版本管理
# 1. 查看历史
git log --oneline -10
# 2. 查看文件变更
git diff
# 3. 恢复特定版本
git checkout <commit-hash>
📁 文件组织规范
版本控制文件
| 文件 | 用途 | 备注 |
|---|---|---|
*.md |
配置文件 | 版本控制 |
novel/ |
小说内容 | 章节、人物设定 |
scripts/ |
工具脚本 | Git 管理工具 |
backups/ |
备份文件 | 定期备份 |
memory/ |
日记录 | 每天记录 |
忽略规则 (.gitignore 核心)
# 编译产物
*.pyc
__pycache__/
# 运行时文件
*.log
*.tmp
*.swp
# 依赖
node_modules/
.venv/
venv/
# 备份(大文件不版本控制)
backups/*
!backups/.keep
# 敏感信息
.env
*.key
*.pem
🛠️ 高级用法
自定义工作流
创建个人工作流
# 在 scripts/ 下创建个人工作流
cat > scripts/my-workflow.sh << 'EOF'
#!/bin/bash
set -e
echo "🚀 我的工作流"
# 添加个性化操作
EOF
chmod +x scripts/my-workflow.sh
配置定时备份
# 添加到 crontab -e:
# 每天凌晨2点运行备份
0 2 * * * cd /root/.openclaw/workspace && ./scripts/auto-backup.sh
协作开发准备
分支策略
main/master # 稳定版本分支
│
├── develop # 主开发分支
│ ├── feature/chapter-19
│ ├── feature/chapter-20
│ └── fix/typo-fix
│
└── release/* # 发布分支
冲突解决流程
# 1. 获取最新代码
git fetch origin
# 2. 检查冲突
git merge origin/develop
# 3. 手动解决冲突
# 编辑冲突文件
# 标记已解决
git add <file>
# 4. 完成合并
git commit
git push origin develop
扩展集成
集成现有项目
# 添加子模块
git submodule add <url> projects/小说工具
# 更新子模块
git submodule update --init --recursive
自动化工作流
# 创建自动化钩子
mkdir -p .git/hooks
cat > .git/hooks/post-commit << 'EOF'
#!/bin/bash
echo "🎉 提交完成!"
echo "📊 分支: $(git branch --show-current)"
EOF
chmod +x .git/hooks/post-commit
🚨 紧急恢复
恢复丢失文件
# 1. 查看所有可恢复文件
git reflog
# 2. 恢复特定提交
git checkout <commit-hash> -- <file>
# 3. 恢复全部文件
git checkout <commit-hash> .
灾难恢复
# 从备份恢复
tar -xzf backups/backup-*.tar.gz -C /
# 或从远程克隆
git clone <remote-url> workspace
git submodule update --init --recursive
📊 最佳实践
1. 提交策略
- 小型提交:每次提交只做一件事
- 描述清晰:提交信息有明确类型和描述
- 及时推送:每天至少推送一次
- 保持整洁:定时清理分支
2. 备份策略
- 每日本地备份
- 定期远程备份
- 增量备份支持
- 多版本存档
3. 工作区管理
- 规范文件命名
- 清晰目录结构
- 定期清理无用文件
- 保持依赖更新
🤖 自动化配置
设置定时任务
# 安装系统定时任务
sudo cat > /etc/cron.d/tomato-backup << 'EOF'
# 每天凌晨3点运行自动备份
0 3 * * * root cd /root/.openclaw/workspace && ./scripts/auto-backup.sh
EOF
环境配置
# 设置环境变量
cat > ~/.bashrc-tomato << 'EOF'
export WORKSPACE_DIR="/root/.openclaw/workspace"
export PATH="$WORKSPACE_DIR/scripts:$PATH"
EOF
echo "source ~/.bashrc-tomato" >> ~/.bashrc
🧪 故障排除
常见问题
1. 提交失败
# 检查Git配置
git config --list
# 检查远程连接
git remote -v
git ls-remote origin
2. 拉取冲突
# 暂存当前工作
git stash
# 拉取更新
git pull origin develop
# 恢复暂存工作
git stash pop
3. 文件误删
# 查看所有可恢复文件
git reflog
# 恢复特定文件
git checkout <commit-hash> -- <file>
提示:定期运行
git fsck --lost-found可找回丢失的对象。
🎯 总结
核心价值
- 版本安全: 每次修改都有备份
- 协作就绪: 随时支持多人协作
- 灾难恢复: 数据丢失风险最小化
开始创作
# 开始新章节
./scripts/git-novel-workflow.sh start chapter-19
# 创作过程中保存进度
./scripts/git-novel-workflow.sh save 19
# 完成章节
./scripts/git-novel-workflow.sh finish 19
🔗 相关文档
主要参考
| 文档 | 描述 |
|---|---|
| AGENTS.md | 工作区核心配置文件 |
| GIT_WORKFLOW.md | Git 工作流详情 |
| TOOLS.md | 本地工具配置 |
| MEMORY.md | 长期记忆文件 |
| HEARTBEAT.md | 心跳检查配置 |
扩展阅读
最后更新: $(date '+%Y-%m-%d %H:%M:%S')
版本: 1.0.0
作者: 番茄小说创作助手
🚀 开始创作!