# 微信小程序多人协作分支管理规范

## 一、分支结构

```
main (主分支/生产环境)
  └── test (测试分支)
        └── feature/xxx (个人开发分支)
```

| 分支 | 用途 | 稳定性 |
|------|------|--------|
| main | 生产环境代码 | 最高，仅接受测试通过的代码合并 |
| test | 测试环境，用于体验版发布 | 中，需验证后合并到 main |
| feature/xxx | 个人开发分支 | 低，按需命名，如 `feature/user-center` |

---

## 二、开发流程

### 1. 开始开发

```bash
# 确保本地 main 最新
git checkout main
git pull origin main

# 从 main 创建自己的开发分支
git checkout -b feature/your-name-work
```

### 2. 开发阶段

- 在个人分支上开发功能
- 频繁提交，保持原子性提交
- 定期 `git pull origin main` 同步主线变更，避免合并冲突累积

```bash
git add .
git commit -m "feat: 完成xxx功能"
```

### 3. 合并到 test 分支

```bash
# 切换到 test
git checkout test
git pull origin test

# 合并个人分支
git merge feature/your-name-work

# 推送 test 分支
git push origin test
```

### 4. 打包上传体验版

```bash
# 执行打包
npm run build
```

打包完成后：

1. 打开 **微信开发者工具**
2. 导入项目，选择 `dist/build/mp-weixin` 目录
3. 在开发者工具中点击 **上传**
4. 登录 [微信公众平台](https://mp.weixin.qq.com)
5. 进入 **管理->版本管理**
6. 找到刚上传的版本，点击 **选为体验版**

---

## 三、合并到 main 分支

当 test 分支验证通过后，将其合并到 main：

```bash
git checkout main
git pull origin main

git merge origin/test

git push origin main
```

---

## 四、冲突处理

合并时如有冲突，在个人分支解决后再合并：

```bash
git checkout feature/your-name-work
git merge main
# 解决冲突后
git add .
git commit -m "merge: 解决与main的冲突"
git push origin feature/your-name-work

# 重新合并到 test
git checkout test
git merge feature/your-name-work
git push origin test
```

---

## 五、注意事项

1. **禁止直接向 main 和 test 分支提交代码**，必须通过合并
2. **每次合并前先拉取最新代码**，避免覆盖他人改动
3. **体验版发布前确认代码已提交**，避免遗漏
4. **开发分支命名建议**：`feature/姓名-功能名`，如 `feature/zhangsan-login`
5. **删除已合并的开发分支**：`git branch -d feature/your-name-work`