目录

gitlink-cli

GitLink License Go Version

gitlink-cliGitLink(确实开源) 平台的官方命令行工具,提供高效的代码托管、协作开发和自动化能力。

核心特性

  • 🚀 三层命令体系:Shortcuts(快捷命令)→ Raw API(全量接口)→ Config(配置管理)
  • 🔐 安全认证:OS Keychain 存储,支持 Token 和用户名密码登录
  • 📦 智能上下文:自动从 git remote 解析 owner/repo,无需重复指定
  • 📊 多格式输出:JSON / Table / YAML,标准 Envelope 结构
  • 🤖 AI 自动化:11 个 Claude Code Agent Skills,支持 Issue 分类、PR Review、Release Notes 等工作流
  • 🌐 双向同步:支持 GitHub ↔ GitLink 代码同步(通过 gitlink-bisync)

快速开始

安装

# 从源码构建
git clone https://www.gitlink.org.cn/wbtiger/gitlink-cli.git
cd gitlink-cli
make build

# 或安装到 PATH
make install

要求:Go 1.21+

首次使用

# 1. 初始化配置
gitlink-cli config init

# 2. 登录
gitlink-cli auth login

# 3. 验证登录
gitlink-cli user +me

# 4. 查看仓库
gitlink-cli repo +info --owner Gitlink --repo forgeplus

使用示例

仓库操作

# 列出仓库
gitlink-cli repo +list

# 查看仓库信息
gitlink-cli repo +info --owner Gitlink --repo forgeplus

# 创建仓库
gitlink-cli repo +create -n my-project -d "项目描述"

# Fork 仓库
gitlink-cli repo +fork --owner Gitlink --repo forgeplus

Issue 管理

# 列出 Issue
gitlink-cli issue +list --owner Gitlink --repo forgeplus

# 创建 Issue
gitlink-cli issue +create -t "Bug: 登录失败" -b "复现步骤..."

# 查看 Issue
gitlink-cli issue +view -i 123

# 关闭 Issue
gitlink-cli issue +close -i 123

# 添加评论
gitlink-cli issue +comment -i 123 -b "已修复"

Pull Request

# 列出 PR
gitlink-cli pr +list --owner Gitlink --repo forgeplus

# 创建 PR
gitlink-cli pr +create -t "feat: 搜索功能" --head feature/search --base master

# 查看 PR
gitlink-cli pr +view -i 42

# 合并 PR
gitlink-cli pr +merge -i 42

# 查看 PR 变更文件
gitlink-cli pr +files -i 42

发布管理

# 列出 Release
gitlink-cli release +list --owner Gitlink --repo forgeplus

# 创建 Release
gitlink-cli release +create -t v1.0.0 -n "v1.0.0 正式版" -b "更新内容..."

# 查看 Release
gitlink-cli release +view -i <version_id>

搜索

# 搜索仓库
gitlink-cli search +repos -k "machine learning"

# 搜索用户
gitlink-cli search +users -k "zhangsan"

Raw API

Shortcuts 未覆盖的接口可通过 Raw API 直接调用:

# GET 请求
gitlink-cli api GET /users/me

# POST 请求
gitlink-cli api POST /Gitlink/forgeplus/issues --body '{"subject":"test","description":"..."}'

# 带查询参数
gitlink-cli api GET /Gitlink/forgeplus/commits --query 'page=1&limit=5'

全局参数

参数 说明 示例
--owner 仓库所有者 --owner Gitlink
--repo 仓库名称 --repo forgeplus
--format 输出格式(json/table/yaml) --format json
--debug 启用调试输出 --debug

自动上下文解析:在 git 仓库目录下,--owner--repo 会自动从 git remote origin 解析。

分支约定

gitlink-cli 支持 GitHub 和 GitLink 的代码双向同步:

平台 主分支
GitHub main
GitLink master

本地 push 到 GitLink

# 方式 1:使用 git 命令
git push gitlink main:master

# 方式 2:配置 git remote
git config remote.gitlink.push refs/heads/main:refs/heads/master
git push gitlink

AI Agent Skills

skills/ 目录包含 11 个 Claude Code Agent Skill 文件,支持 AI 自动化操作 GitLink 平台。

详见 skills/README.md

Skill 说明
gitlink-shared 认证、全局参数、安全规则、API 注意事项
gitlink-repo 仓库操作(创建、查看、删除、Fork 等)
gitlink-issue Issue 操作(创建、更新、关闭、评论等)
gitlink-pr Pull Request 操作(创建、合并、Review 等)
gitlink-branch 分支管理(创建、删除、保护等)
gitlink-release 发布管理(创建、查看、删除等)
gitlink-org 组织管理(成员、团队等)
gitlink-ci CI/CD 操作(构建、日志等)
gitlink-search 搜索功能(仓库、用户等)
gitlink-user 用户管理(个人信息等)
gitlink-workflow AI 自动化工作流(Issue 分类、PR Review、Release Notes 等)

项目结构

gitlink-cli/
├── cmd/                      # Cobra 命令定义
│   ├── root.go               # 根命令 + 全局 flags
│   ├── auth/                 # 认证命令
│   ├── api/                  # Raw API 命令
│   ├── config/               # 配置命令
│   └── cmdutil/              # 全局工具
├── internal/                 # 内部包
│   ├── auth/                 # 登录、Token 存储、Transport
│   ├── client/               # HTTP 客户端 + 分页
│   ├── config/               # 配置文件管理
│   ├── context/              # git remote 解析
│   └── output/               # Envelope + Formatter
├── shortcuts/                # Shortcut 实现
│   ├── common/               # 框架(types, runner)
│   ├── repo/                 # 仓库 shortcuts
│   ├── issue/                # Issue shortcuts
│   ├── pr/                   # PR shortcuts
│   ├── branch/               # 分支 shortcuts
│   ├── release/              # Release shortcuts
│   ├── org/                  # 组织 shortcuts
│   ├── ci/                   # CI shortcuts
│   ├── search/               # 搜索 shortcuts
│   ├── user/                 # 用户 shortcuts
│   └── register.go           # 注册入口
├── skills/                   # AI Agent Skills
│   ├── README.md             # Skills 使用指南
│   ├── gitlink-shared/       # 共享规则
│   ├── gitlink-repo/         # 仓库 Skill
│   ├── gitlink-issue/        # Issue Skill
│   ├── gitlink-pr/           # PR Skill
│   └── ...
├── doc/                      # 设计文档
│   ├── SKILLS_TEST_REPORT_2026-04-02.md
│   ├── CODE_SYNC_STRATEGY_FINAL.md
│   └── ...
├── main.go
├── Makefile
├── go.mod
└── README.md

文档

常见问题

Q: 如何在脚本中使用 gitlink-cli?

A: 使用 --format json 获取结构化输出:

gitlink-cli repo +list --format json | jq '.data.projects[] | .name'

Q: 如何自动解析 owner/repo?

A: 在 git 仓库目录下运行命令,CLI 会自动从 git remote origin 解析:

cd ~/my-gitlink-project
gitlink-cli issue +list  # 自动使用当前仓库

Q: Token 过期了怎么办?

A: 重新登录:

gitlink-cli auth login

Q: 如何查看完整的 API 参考?

A: 查看 skills/gitlink-shared/REFERENCE.md

相关项目

许可证

Apache License 2.0

关于

GitLink CLI - GitLink 平台命令行工具

252.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号