codecamp

OpenClaw Skills GitHub 命令行工具

github 是一个零学习成本的 GitHub 命令行工具,用于快速操作仓库、提交、分支、PR、Issues、版本发布,无需复杂参数

👤 作者:Peter Steinberger
👉 Skills 下载地址:github-1.0.0.zip

安装(中文注释版)

## 通过 Homebrew 安装 github 命令行工具
brew install steipete/tap/github

认证登录(中文注释版)

## 登录 GitHub(自动打开浏览器授权,生成令牌)
github auth login


## 查看当前登录状态
github auth status


## 登出当前账号
github auth logout

仓库操作(中文注释版)

## ==================== 仓库基础操作 ====================
## 查看当前仓库信息
github repo info


## 克隆 GitHub 仓库(自动补全地址)
github repo clone username/repo


## 创建全新 GitHub 仓库(自动关联本地)
github repo create "新仓库名称" --public


## ==================== 分支操作 ====================
## 查看所有分支(本地+远程)
github branch list


## 创建并切换到新分支
github branch create 新分支名


## 删除远程分支
github branch delete 远程分支名


## ==================== 提交操作 ====================
## 快速提交所有变更(自动 add + commit + push)
github commit "修复了登录页崩溃问题"


## 仅推送到远程
github push

Pull Request 操作(中文注释版)

## ==================== PR 操作 ====================
## 从当前分支创建 PR
github pr create


## 查看当前仓库所有 PR
github pr list


## 查看指定 PR 的详情
github pr view 123


## 合并 PR(支持 squash/merge/rebase)
github pr merge 123 --squash


## 为 PR 添加审查者
github pr request-review 123 用户名

Issues 操作(中文注释版)

## ==================== Issues 操作 ====================
## 创建新 Issue
github issue create "标题:登录按钮失效"


## 列出所有 Issue
github issue list


## 查看 Issue 详情
github issue view 456


## 关闭 Issue
github issue close 456


## 为 Issue 添加标签
github issue add-label 456 bug

版本发布(中文注释版)

## ==================== 发布版本 ====================
## 创建版本标签并发布到 GitHub
github release create v1.0.0


## 查看所有发布版本
github release list

文件与内容操作(中文注释版)

## 查看仓库文件列表
github file list


## 查看指定文件内容
github file view README.md


## 直接编辑远程文件(无需克隆)
github file edit README.md

常用快捷命令(全中文注释)

## 查看当前仓库的所有开放 PR
github pr list --state open


## 查看自己创建的 Issue
github issue list --author "@me"


## 强制推送(慎用!覆盖远程代码)
github push --force


## 拉取最新代码
github pull


## 查看提交历史
github log

环境变量配置(中文注释)

## 永久配置 GitHub 用户名
export GITHUB_USER="你的用户名"


## 手动配置访问令牌(如自动登录失败时使用)
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"

工具特点(中文版)

一键操作:一行命令完成提交、推送、创建PR
零配置上手:自动识别仓库、分支、当前目录
全功能覆盖:Repo / Branch / PR / Issue / Release
轻量快速:比官方 gh 更简单、更直观
脚本友好:支持管道、JSON 输出、自动化集成

官方信息

  • 技能地址:https://clawhub.ai/steipete/github
  • 支持平台:macOS / Linux / Windows
  • 安装方式:brew install steipete/tap/github

GitHub 操作指南

名称:github 描述:使用 gh 命令行工具(CLI)与 GitHub 交互。可通过 gh issuegh prgh rungh api 分别处理议题(Issue)、拉取请求(PR)、CI 运行任务以及高级查询场景。

GitHub 操作技能

使用 gh 命令行工具(CLI)与 GitHub 进行交互。若当前目录非 Git 仓库目录,需始终通过 --repo 仓库所有者/仓库名 指定目标仓库,或直接使用仓库 URL 定位。

拉取请求(PR)相关操作

检查指定拉取请求的 CI 运行状态:

## 检查编号为55的PR的CI校验状态,指定目标仓库为owner/repo
gh pr checks 55 --repo owner/repo

列出最近的工作流运行记录:

## 列出目标仓库最近10条工作流运行记录
gh run list --repo owner/repo --limit 10

查看指定运行记录,并定位失败的步骤:

## 查看指定运行ID的工作流详情,定位其中失败的步骤,指定目标仓库
gh run view <run-id> --repo owner/repo

仅查看失败步骤的日志:

## 仅查看指定运行ID工作流中失败步骤的日志内容,指定目标仓库
gh run view <run-id> --repo owner/repo --log-failed

高级查询:使用 API 接口

gh api 命令适用于获取其他子命令无法直接访问的数据。

获取拉取请求的指定字段信息:

## 调用GitHub API获取指定PR(55号)的指定字段:标题、状态、提交者用户名
## --jq 参数用于过滤JSON响应,提取.title(标题)、.state(状态)、.user.login(提交者用户名)字段
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'

JSON 结构化输出

大多数 gh 命令支持通过 --json 参数输出结构化数据,可搭配 --jq 参数过滤所需内容:

## 列出目标仓库的所有议题,仅输出编号(number)和标题(title)字段
## 通过--jq将JSON数组格式的结果转换为「编号: 标题」的文本格式展示
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
OpenClaw Skills 内容总结工具(summarize)
OpenClaw Skills Agent Browser(浏览器自动化工具)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }