gitlink-cli/skills/gitlink-branch-hygiene/examples/gitlink-cli-branch-hygiene.md

119 lines
3.3 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.

# gitlink-branch-hygiene 使用示例
> 触发方式:自然语言自动匹配
> 日期2026-06-11
> Agent 平台Codex
> 验证状态:✅ 通过(命令全部真实执行,完成了分支分类和可删除候选识别)
---
## 用户输入
```text
帮我看看 Gitlink/gitlink-cli 现在有哪些分支可以安全清理,先不要真的删除,给我一个治理计划。
```
## Skill 触发
Agent 根据“分支”“清理”“治理计划”“先不要真的删除”等关键词,自动匹配 `gitlink-branch-hygiene`,并按只读优先策略执行。
---
## 执行过程摘要
### Step 1读取分支列表
```bash
gitlink-cli branch +list --owner Gitlink --repo gitlink-cli --format json
```
得到 6 条分支:
| 分支 | 是否保护 | 是否有关联 PR | 最近提交 |
|------|----------|---------------|----------|
| master | 否 | 是 | 2天前 |
| fix/pr-review-journal-sync | 否 | 否 | 9天前 |
| test/slash-1778992192 | 是 | 否 | 25天前 |
| main | 否 | 否 | 25天前 |
| test/branch-skill-1778991125 | 是 | 否 | 25天前 |
| test/unprotect-1778991372 | 是 | 否 | 25天前 |
### Step 2读取开放 PR避免误删协作分支
```bash
gitlink-cli pr +list --owner Gitlink --repo gitlink-cli --state open --limit 50 --format json
```
结果:当前仓库存在开放 PR默认分支 `master` 仍在被协作流程使用,不能纳入删除候选。
### Step 3检查无 PR 分支与默认分支的差异
先检查 `fix/pr-review-journal-sync`
```bash
gitlink-cli compare +view --owner Gitlink --repo gitlink-cli --head fix/pr-review-journal-sync --base master --format json
```
返回:
```text
[-2] 分支内容相同,无需创建合并请求
```
结论:该分支与 `master` 已无内容差异,可视为零差异分支。
再检查 `main`
```bash
gitlink-cli compare +view --owner Gitlink --repo gitlink-cli --head main --base master --format json
```
同样返回零差异,但由于 `main` 属于主分支别名,不直接列入删除候选。
---
## 生成的治理计划
```markdown
# Gitlink/gitlink-cli 分支治理计划
> 生成时间2026-06-11
> 默认分支master
## 一、分支概览
- 总分支数6
- 受保护分支3
- 可直接保留5
- 可删除候选1
## 二、保留分支
| 分支 | 原因 |
|------|------|
| master | 默认分支,持续承载协作流程 |
| main | 与 master 零差异,但属于主分支别名,默认保留 |
| test/slash-1778992192 | 受保护分支,不做自动清理 |
| test/branch-skill-1778991125 | 受保护分支,不做自动清理 |
| test/unprotect-1778991372 | 受保护分支,不做自动清理 |
## 三、可删除候选
| 分支 | 原因 | 删除前最后确认 |
|------|------|----------------|
| fix/pr-review-journal-sync | 无开放 PR、未受保护、距今 9 天、与 master 零差异 | 确认没有外部流程仍引用该分支后,可执行 `branch +delete` |
```
---
## 验证结论
| 检查项 | 结果 |
|--------|------|
| Skill 自动触发 | ✅ |
| 能识别默认分支和保护分支 | ✅ |
| 能把 `main` 识别为主分支别名而非误删对象 | ✅ |
| 能识别无 PR 分支 | ✅ |
| 能正确把 compare 的 `-2` 解释为“零差异” | ✅ |
| 能输出只读的治理计划而不直接执行删除 | ✅ |