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

138 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🏗️ 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 (保护标签)
```
## 🔄 工作流程
### 日常开发流程
```bash
# 1. 在主仓库进行开发
cd /path/to/wwjcloud-nsetjs
# ... 进行开发工作 ...
# 2. 推送开发进度(高频)
./push_dev.sh
```
### 版本发布流程
```bash
# 1. 确保开发完成并测试通过
cd wwjcloud-nest
# 2. 推送稳定版本给用户(低频)
../push_wwjcloud_nest.sh
```
### 紧急重置流程
```bash
# 当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次目标
- **紧急重置次数**: 最小化
---
**⚠️ 重要提醒**: 严格遵循本策略,确保代码质量和用户体验!