docs(agents): relax mandatory feature-branch workflow

This commit is contained in:
JOJO 2026-05-27 23:52:37 +08:00
parent 5cef9c4b2b
commit 268eb9c8b5

View File

@ -96,62 +96,48 @@
### 6.1 核心原则
- **永远不直接在 `main` 上开发**。所有改动走功能分支,合入时 Squash Merge
- 每个功能分支合入 main 后main 上对应一个 commit一个功能 = 一个 commit历史干净可回滚
- 允许直接在当前分支开发;**不再要求每次修改都新建功能分支再合并到 `main`**
- 需要隔离较大功能或并行开发时,可选使用功能分支
- 使用 **Conventional Commits**`feat:` `fix:` `refactor:` `chore:` `docs:` `test:` `perf:`
- 个人项目,不设 PR 和 Review 流程。功能分支 = 隔离容器,写完即合。
### 6.2 工作流(唯一步骤
### 6.2 推荐流程(按需
AI 执行以下流程时,每一步都要向用户说明在做什么:
AI 执行 Git 操作时,每一步都要向用户说明在做什么:
```
0. 检查工作区状态
git status
如有未提交改动(切换分支可能丢失)
如有未提交改动:
- 若无关:提醒用户先 commit 或 discard
- 若有关git stash push -m "WIP: <简短描述>" 暂存
1. 从 main 切出功能分支
git checkout main && git pull origin main
git checkout -b feature/<简短描述> main
2. 开发并提交
1. 在当前分支开发并提交(默认)
git add <修改的文件>
git commit -m "feat(scope): 简短描述"
(多轮迭代可用 git commit --amend 保持一个 commit
3. 推送到远程(备份 + 方便切设备)
git push origin feature/<分支>
2. 按用户要求决定是否推送
git push origin <当前分支>
4. Squash Merge 到 main
git checkout main && git pull origin main
git merge --squash feature/<分支名>
git commit -m "feat(scope): 简短描述"
git push origin main
5. 清理
git branch -D feature/<分支名>
git push origin --delete feature/<分支名>
3. 若用户明确要求使用功能分支,再执行分支流
git checkout -b feature/<简短描述>
...开发与提交...
(是否 squash / merge 由用户当前流程决定)
```
**重要约束**
- AI 必须在本地验证修改能正常运行,再建议用户提交。
- 修改完成后主动告知:修改了哪些文件、核心变更点、验证结果。
- 禁止 AI 在未经用户确认的情况下执行 `git push`
- 如需 Review在同一对话内直接 `git diff main...feature/<分支>` 即可,不必跨对话。
### 6.3 常用命令速查
| 操作 | 命令 |
|------|------|
| 切功能分支 | `git checkout -b feature/<名称> main` |
| 查看当前分支 | `git branch --show-current` |
| 在当前分支提交 | `git add <文件> && git commit -m "type(scope): message"` |
| 暂存未完成工作 | `git stash push -m "WIP: xxx"` |
| 修改最近 commit | `git commit --amend` |
| Squash Merge | `git merge --squash feature/<名称>` |
| 强制删除本地分支 | `git branch -D feature/<名称>` |
| 删除远程分支 | `git push origin --delete feature/<名称>` |
| 同对话内 Review diff | `git diff main...feature/<名称>` |
| 切功能分支(可选) | `git checkout -b feature/<名称>` |
| 推送当前分支 | `git push origin <当前分支>` |
| 查看提交历史 | `git log --oneline -10` |
## 7) 安全与仓库卫生