From 268eb9c8b513d7b131c89600477b5869f362aae3 Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Wed, 27 May 2026 23:52:37 +0800 Subject: [PATCH] docs(agents): relax mandatory feature-branch workflow --- AGENTS.md | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3cc0566..def950e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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) 安全与仓库卫生