Files
wwjcloud-nest-v1/docs/REPOSITORY-STRATEGY.md
wanwu e7a1d6b4d6 🧹 清理重复配置文件
- 删除根目录中重复的 NestJS 配置文件
- 删除 tsconfig.json, tsconfig.build.json, eslint.config.mjs, .prettierrc
- 保留 wwjcloud-nest/ 目录中的完整配置
- 避免配置冲突,确保项目结构清晰
2025-10-14 23:56:20 +08:00

3.7 KiB
Raw Blame History

🏗️ WWJCloud 仓库管理策略

📋 概述

本文档定义了 WWJCloud 项目的仓库管理策略,确保开发-发布分离,避免代码污染,保证用户获得稳定版本。

🎯 核心原则

1. 三层隔离架构

  • v0.1.1-branch: 纯净底板永不变更AI开发安全回退点
  • 主仓库: 开发环境,高频推送,实时同步开发进度
  • 子仓库: 发布环境,低频推送,面向最终用户

2. 严格的推送规则

  • 禁止: 主仓库直接推送到 wwjcloud.git
  • 禁止: 从 v0.1.1-branch 推送任何更改
  • 允许: 子仓库推送稳定版本到 wwjcloud.git
  • 允许: 主仓库推送开发进度到 wwjcloud-nsetjs.git

🏛️ 仓库架构

wwjcloud-nsetjs (主仓库)
├── origin → https://gitee.com/wanwujie/wwjcloud-nsetjs.git
└── wwjcloud-nest/ (子仓库)
    ├── origin → https://gitee.com/wanwujie/wwjcloud.git
    ├── master (开发分支)
    ├── v0.1.1-branch (纯净底板)
    └── v0.1.1-stable (保护标签)

🔄 工作流程

日常开发流程

# 1. 在主仓库进行开发
cd /path/to/wwjcloud-nsetjs
# ... 进行开发工作 ...

# 2. 推送开发进度(高频)
./push_dev.sh

版本发布流程

# 1. 确保开发完成并测试通过
cd wwjcloud-nest

# 2. 推送稳定版本给用户(低频)
../push_wwjcloud_nest.sh

紧急重置流程

# 当AI开发出现错误污染时
cd wwjcloud-nest
git checkout v0.1.1-branch
git checkout -b fix-$(date +%Y%m%d)
# 基于纯净版本重新开发

🛡️ 安全机制

1. 自动检查

  • 目录检查:确保在正确的仓库目录
  • 远程检查:验证远程仓库配置正确性
  • 分支检查:防止从保护分支推送
  • 污染检查:自动移除危险的远程配置

2. 保护措施

  • 🔒 v0.1.1-branch 设为只读
  • 🏷️ v0.1.1-stable 标签保护
  • 🚫 主仓库禁止 wwjcloud 远程
  • ⚠️ 推送前确认机制

📜 脚本说明

push_dev.sh (开发推送)

  • 用途: 日常开发推送到主仓库
  • 频率: 高频(随时)
  • 目标: wwjcloud-nsetjs.git
  • 检查: 自动移除危险远程配置

push_wwjcloud_nest.sh (发布推送)

  • 用途: 稳定版本推送给用户
  • 频率: 低频(版本稳定时)
  • 目标: wwjcloud.git
  • 检查: 严格的安全验证

🚨 常见问题

Q: 为什么主仓库不能有 wwjcloud 远程?

A: 防止意外推送开发代码到用户仓库,造成代码污染。

Q: 如何确保 v0.1.1-branch 不被修改?

A:

  1. 创建了 v0.1.1-stable 保护标签
  2. 脚本自动检查并阻止从该分支推送
  3. 作为只读的安全回退点

Q: 如果推送脚本检测到问题怎么办?

A: 脚本会:

  1. 显示具体错误信息
  2. 提供解决建议
  3. 自动修复(如移除危险远程)
  4. 阻止危险操作

🎯 最佳实践

开发阶段

  1. 在主仓库进行所有开发工作
  2. 使用 ./push_dev.sh 频繁同步进度
  3. 定期测试确保代码质量

发布阶段

  1. 确保所有功能完整且测试通过
  2. 切换到 wwjcloud-nest 目录
  3. 使用 ../push_wwjcloud_nest.sh 发布稳定版本
  4. 确认用户可以正常使用

紧急情况

  1. 发现代码污染时立即停止开发
  2. 使用 v0.1.1-branch 作为安全回退点
  3. 基于纯净版本重新开始开发

📊 监控指标

  • 开发推送频率: 每日多次
  • 发布推送频率: 每周1-2次
  • 代码污染事件: 0次目标
  • 紧急重置次数: 最小化

⚠️ 重要提醒: 严格遵循本策略,确保代码质量和用户体验!