feat(skills): add gitlink-branch Skill
- 从 gitlink-repo/references/ 提取 branch 命令,整合为独立 Skill - 覆盖 branch +list/+create/+delete/+protect 四个命令 - 含 examples/branch-workflow.md 端到端工作流 - 更新 skills/README.md 表格补上 branch +delete
This commit is contained in:
parent
a560dfc982
commit
a3b710268e
|
|
@ -124,7 +124,7 @@ skills/
|
|||
| **gitlink-repo** | 仓库管理 | `repo +list`, `repo +create`, `repo +info`, `repo +fork` |
|
||||
| **gitlink-issue** | Issue 管理 | `issue +create`, `issue +list`, `issue +view`, `issue +close`, `issue +batch-close` |
|
||||
| **gitlink-pr** | Pull Request | `pr +list`, `pr +create`, `pr +view`, `pr +merge`, `pr +review` |
|
||||
| **gitlink-branch** | 分支管理 | `branch +list`, `branch +create`, `branch +protect` |
|
||||
| **gitlink-branch** | 分支管理 | `branch +list`, `branch +create`, `branch +delete`, `branch +protect` |
|
||||
| **gitlink-release** | 版本发布 | `release +list`, `release +create`, `release +view` |
|
||||
|
||||
### 辅助 Skills
|
||||
|
|
|
|||
|
|
@ -0,0 +1,139 @@
|
|||
---
|
||||
name: gitlink-branch
|
||||
version: 1.0.0
|
||||
description: "分支管理:创建、查看、删除、保护分支。当用户需要操作 GitLink 分支时触发。"
|
||||
metadata:
|
||||
requires:
|
||||
bins: ["gitlink-cli"]
|
||||
cliHelp: "gitlink-cli branch --help"
|
||||
---
|
||||
|
||||
# gitlink-branch(分支操作)
|
||||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
|
||||
|
||||
## Shortcuts
|
||||
|
||||
| Shortcut | 说明 | 操作类型 |
|
||||
|----------|------|----------|
|
||||
| `branch +list` | 列出仓库的所有分支 | Read |
|
||||
| `branch +create` | 创建新分支 | ⚠️ Write Operation |
|
||||
| `branch +delete` | 删除分支 | 🔴 Destructive Operation |
|
||||
| `branch +protect` | 设置分支保护规则 | ⚠️ Write Operation |
|
||||
|
||||
## 参数参考
|
||||
|
||||
### branch +list
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--owner` | 是* | 仓库所有者(可从 git remote 自动推断) |
|
||||
| `--repo` | 是* | 仓库名称(可从 git remote 自动推断) |
|
||||
| `--page, -p` | 否 | 页码(默认 `1`) |
|
||||
| `--limit, -l` | 否 | 每页条数(默认 `20`) |
|
||||
| `--format` | 否 | 输出格式:`json`/`table`/`yaml` |
|
||||
| `--debug` | 否 | 启用调试输出 |
|
||||
|
||||
### branch +create
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--name, -n` | 是 | 新分支名称 |
|
||||
| `--from, -f` | 否 | 源分支或 commit(默认 `master`) |
|
||||
| `--owner` | 是* | 仓库所有者(可从 git remote 自动推断) |
|
||||
| `--repo` | 是* | 仓库名称(可从 git remote 自动推断) |
|
||||
| `--format` | 否 | 输出格式:`json`/`table`/`yaml` |
|
||||
| `--debug` | 否 | 启用调试输出 |
|
||||
|
||||
### branch +delete
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--name, -n` | 是 | 要删除的分支名称 |
|
||||
| `--owner` | 是* | 仓库所有者(可从 git remote 自动推断) |
|
||||
| `--repo` | 是* | 仓库名称(可从 git remote 自动推断) |
|
||||
| `--format` | 否 | 输出格式:`json`/`table`/`yaml` |
|
||||
| `--debug` | 否 | 启用调试输出 |
|
||||
|
||||
### branch +protect
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--name, -n` | 是 | 要保护的分支名称 |
|
||||
| `--owner` | 是* | 仓库所有者(可从 git remote 自动推断) |
|
||||
| `--repo` | 是* | 仓库名称(可从 git remote 自动推断) |
|
||||
| `--format` | 否 | 输出格式:`json`/`table`/`yaml` |
|
||||
| `--debug` | 否 | 启用调试输出 |
|
||||
|
||||
> *如果在 GitLink 仓库目录下执行,`--owner` 和 `--repo` 可自动推断。
|
||||
|
||||
## 使用示例
|
||||
|
||||
```bash
|
||||
# 列出当前仓库的分支
|
||||
gitlink-cli branch +list
|
||||
|
||||
# 指定仓库并分页
|
||||
gitlink-cli branch +list --owner Gitlink --repo forgeplus --page 1 --limit 10
|
||||
|
||||
# 输出为 JSON
|
||||
gitlink-cli branch +list --format json
|
||||
|
||||
# 从 master 创建分支
|
||||
gitlink-cli branch +create --name feature/new-feature
|
||||
|
||||
# 从指定分支创建
|
||||
gitlink-cli branch +create --name hotfix/bug-123 --from develop
|
||||
|
||||
# 指定仓库创建分支
|
||||
gitlink-cli branch +create --name feature/x --owner someone --repo myrepo
|
||||
|
||||
# 删除分支
|
||||
gitlink-cli branch +delete --name feature/old-feature
|
||||
|
||||
# 指定仓库删除分支
|
||||
gitlink-cli branch +delete --name feature/old-feature --owner someone --repo myrepo
|
||||
|
||||
# 保护分支
|
||||
gitlink-cli branch +protect --name main
|
||||
|
||||
# 指定仓库保护分支
|
||||
gitlink-cli branch +protect --name main --owner someone --repo myrepo
|
||||
```
|
||||
|
||||
## Workflow 注意事项
|
||||
|
||||
### branch +create(Write Operation)
|
||||
|
||||
> [!CAUTION]
|
||||
> This is a **Write Operation** — confirm user intent.
|
||||
|
||||
1. 确认用户希望创建的分支名称和源分支。
|
||||
2. 执行 `branch +create --name <name> --from <source>`。
|
||||
3. 输出创建结果。
|
||||
|
||||
### branch +delete(Destructive Operation)
|
||||
|
||||
> [!CAUTION]
|
||||
> This is a **Destructive Operation** — confirm user intent.
|
||||
|
||||
1. 确认用户确实希望删除该分支(此操作不可逆)。
|
||||
2. 执行 `branch +delete --name <name>`。
|
||||
3. 输出删除结果。
|
||||
|
||||
### branch +protect(Write Operation)
|
||||
|
||||
> [!CAUTION]
|
||||
> This is a **Write Operation** — confirm user intent.
|
||||
|
||||
1. 确认用户希望保护的分支名称。
|
||||
2. 执行 `branch +protect --name <name>`。
|
||||
3. 输出设置结果。
|
||||
|
||||
## References
|
||||
|
||||
- [gitlink-shared](../gitlink-shared/SKILL.md) — 认证、全局参数、安全规则
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# 分支管理完整工作流
|
||||
|
||||
本示例演示一个完整的分支管理流程:查看分支 → 创建分支 → 开发推送 → 保护分支 → 清理旧分支。
|
||||
|
||||
## 场景描述
|
||||
|
||||
你正在维护一个 GitLink 仓库,需要开发一个新功能。开发完成后需要保护主分支,并清理已完成的功能分支。
|
||||
|
||||
## 步骤
|
||||
|
||||
### 1. 查看当前所有分支
|
||||
|
||||
```bash
|
||||
gitlink-cli branch +list
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```
|
||||
Branch Protected
|
||||
master Yes
|
||||
develop No
|
||||
feature/old-login No
|
||||
```
|
||||
|
||||
### 2. 创建新功能分支
|
||||
|
||||
```bash
|
||||
gitlink-cli branch +create --name feature/new-auth --from develop
|
||||
```
|
||||
|
||||
输出确认分支创建成功。
|
||||
|
||||
### 3. 本地开发并推送
|
||||
|
||||
```bash
|
||||
git checkout -b feature/new-auth
|
||||
# ... 编写代码 ...
|
||||
git add .
|
||||
git commit -m "feat: add new auth module"
|
||||
git push gitlink feature/new-auth
|
||||
```
|
||||
|
||||
### 4. 创建 PR 并合并
|
||||
|
||||
通过 `gitlink-cli pr +create` 创建 PR,审查后合并。合并后,功能分支 `feature/new-auth` 将自动删除(取决于仓库设置)。
|
||||
|
||||
### 5. 保护主分支
|
||||
|
||||
确保 `master` 分支有保护规则,防止误删或直接推送:
|
||||
|
||||
```bash
|
||||
gitlink-cli branch +protect --name master
|
||||
```
|
||||
|
||||
### 6. 清理旧分支(可选)
|
||||
|
||||
开发完成后,删除不再需要的旧分支:
|
||||
|
||||
```bash
|
||||
# 确认旧分支已合并或无保留价值后
|
||||
gitlink-cli branch +delete --name feature/old-login
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- `branch +delete` 是 **Destructive Operation**,操作前请确认分支内容已合并或无保留价值
|
||||
- `branch +protect` 会对分支施加保护规则,影响后续的推送和合并流程
|
||||
- 建议使用 `branch +list` 先查看分支状态,再执行写入/删除操作
|
||||
Loading…
Reference in New Issue