feat(repo,pr): add code history and batch file shortcuts #314

Closed
ohanabi wants to merge 0 commits from ohanabi/gitlink-cli:feat/code-history-file-shortcuts into master
Contributor

合并请求描述

本次合并请求围绕 GitLink CLI 子题一的高频仓库与 PR 操作场景,新增一组代码历史、标签管理、多文件提交和 PR 提交列表快捷命令,减
少用户和 AI Agent 对 Raw API 的依赖,并补齐测试、文档、i18n 与 Agent Skill 使用说明。

相关Issue

关联Issue编号:暂无

变更内容

1. 增强了仓库代码历史查看能力

新增 repo +filesrepo +commitsrepo +commit-filesrepo +commit-diff,支持搜索仓库文件、查看提交历史、查看单个提交
的变更文件和 diff。

2. 增强了仓库标签管理能力

新增 repo +tagsrepo +tagrepo +delete-tag,支持标签列表、标签详情和标签删除预览/确认执行。

3. 增强了仓库多文件提交能力

新增 repo +batch-commit,支持在一次提交中创建、更新或删除多个文件,并提供 --dry-run--yes,避免误写远端仓库。

4. 增强了 PR 提交信息查看能力

新增 pr +commits,用于查看 PR 包含的提交列表,并更新 gitlink-gatekeepergitlink-commit-quality 等 Skill 文档,减少 Raw
API 调用。

5. 补齐了配套文档和测试

更新 README、README.zh-CN、i18n 文案、Agent Skill 文档、reference 文档和变更说明;新增/更新单元测试覆盖 API 路径、查询参数、
dry-run、防误写和 payload 校验。

问题描述

此前 GitLink CLI 已覆盖部分仓库和 PR 操作,但在代码历史分析、提交文件查看、提交 diff、标签管理、批量文件提交、PR 提交列表等场
景仍需要手动拼接 Raw API。
这会增加用户使用成本,也会让 AI Agent 在代码审查、提交质量检查、Release Notes 生成、项目健康度分析等工作流中更容易出现路径拼
写、参数遗漏或误写远端仓库的问题。

问题复现步骤

  1. 使用 GitLink CLI 查看某仓库指定分支的提交历史。
  2. 尝试查看某个 commit 修改了哪些文件或对应 diff。
  3. 尝试查看 PR 中包含的 commit 列表。
  4. 尝试通过 CLI 批量创建、更新或删除多个仓库文件。
  5. 发现缺少对应 Shortcut,需要改用 Raw API 手动构造路径、参数和请求体。

根本原因

CLI 的 Shortcut 层尚未覆盖代码历史、标签管理、批量文件提交和 PR commit 列表等高频接口,导致这些能力只能通过 Raw API 间接访
问。
同时,写操作缺少统一的 dry-run 和显式确认机制,不利于 Agent 自动化场景下的安全执行。

修复方案

新增 repopr 相关 Shortcut,对应封装 GitLink API:

  • repo +files
  • repo +commits
  • repo +commit-files
  • repo +commit-diff
  • repo +tags
  • repo +tag
  • repo +delete-tag
  • repo +batch-commit
  • pr +commits

其中 repo +delete-tagrepo +batch-commit 默认不执行真实远端写操作,必须显式传入 --yes;同时支持 --dry-run 输出即将
执行的请求信息,便于用户确认。
本次变更同步补充单元测试、README 示例、中文文档、i18n 文案、Skill 文档和 reference 文档,保证功能可用、可测、可被 Agent 正确
复用。

测试验证

  • gofmt
  • git diff --check
  • go test ./shortcuts/repo ./shortcuts/pr
  • go test ./...
## 合并请求描述 本次合并请求围绕 GitLink CLI 子题一的高频仓库与 PR 操作场景,新增一组代码历史、标签管理、多文件提交和 PR 提交列表快捷命令,减 少用户和 AI Agent 对 Raw API 的依赖,并补齐测试、文档、i18n 与 Agent Skill 使用说明。 ## 相关Issue 关联Issue编号:暂无 ## 变更内容 ### 1. 增强了仓库代码历史查看能力 新增 `repo +files`、`repo +commits`、`repo +commit-files`、`repo +commit-diff`,支持搜索仓库文件、查看提交历史、查看单个提交 的变更文件和 diff。 ### 2. 增强了仓库标签管理能力 新增 `repo +tags`、`repo +tag`、`repo +delete-tag`,支持标签列表、标签详情和标签删除预览/确认执行。 ### 3. 增强了仓库多文件提交能力 新增 `repo +batch-commit`,支持在一次提交中创建、更新或删除多个文件,并提供 `--dry-run` 和 `--yes`,避免误写远端仓库。 ### 4. 增强了 PR 提交信息查看能力 新增 `pr +commits`,用于查看 PR 包含的提交列表,并更新 `gitlink-gatekeeper`、`gitlink-commit-quality` 等 Skill 文档,减少 Raw API 调用。 ### 5. 补齐了配套文档和测试 更新 README、README.zh-CN、i18n 文案、Agent Skill 文档、reference 文档和变更说明;新增/更新单元测试覆盖 API 路径、查询参数、 dry-run、防误写和 payload 校验。 ## 问题描述 此前 GitLink CLI 已覆盖部分仓库和 PR 操作,但在代码历史分析、提交文件查看、提交 diff、标签管理、批量文件提交、PR 提交列表等场 景仍需要手动拼接 Raw API。 这会增加用户使用成本,也会让 AI Agent 在代码审查、提交质量检查、Release Notes 生成、项目健康度分析等工作流中更容易出现路径拼 写、参数遗漏或误写远端仓库的问题。 ## 问题复现步骤 1. 使用 GitLink CLI 查看某仓库指定分支的提交历史。 2. 尝试查看某个 commit 修改了哪些文件或对应 diff。 3. 尝试查看 PR 中包含的 commit 列表。 4. 尝试通过 CLI 批量创建、更新或删除多个仓库文件。 5. 发现缺少对应 Shortcut,需要改用 Raw API 手动构造路径、参数和请求体。 ## 根本原因 CLI 的 Shortcut 层尚未覆盖代码历史、标签管理、批量文件提交和 PR commit 列表等高频接口,导致这些能力只能通过 Raw API 间接访 问。 同时,写操作缺少统一的 dry-run 和显式确认机制,不利于 Agent 自动化场景下的安全执行。 ## 修复方案 新增 `repo` 和 `pr` 相关 Shortcut,对应封装 GitLink API: - `repo +files` - `repo +commits` - `repo +commit-files` - `repo +commit-diff` - `repo +tags` - `repo +tag` - `repo +delete-tag` - `repo +batch-commit` - `pr +commits` 其中 `repo +delete-tag` 和 `repo +batch-commit` 默认不执行真实远端写操作,必须显式传入 `--yes`;同时支持 `--dry-run` 输出即将 执行的请求信息,便于用户确认。 本次变更同步补充单元测试、README 示例、中文文档、i18n 文案、Skill 文档和 reference 文档,保证功能可用、可测、可被 Agent 正确 复用。 ## 测试验证 - `gofmt` - `git diff --check` - `go test ./shortcuts/repo ./shortcuts/pr` - `go test ./...`
ohanabi added 1 commit 2026-07-02 12:34:13 +08:00
wbtiger closed this pull request 2026-07-14 22:57:09 +08:00
wbtiger reopened this pull request 2026-07-14 23:02:21 +08:00
wbtiger closed this pull request 2026-07-14 23:05:50 +08:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#314
No description provided.