📦 x-cmd pkg | gh - GitHub 官方 CLI,颠覆你的 GitHub 使用体验

196 阅读3分钟

简介

gh 是由 GitHub 官方用 Go 开发的客户端工具,用于在命令行界面与 GitHub 进行交互,适合希望在命令行高效管理 GitHub 资源的开发者。

GitHub 是一个开发者平台,开发者能在平台上存储、托管和共享代码,主要被用于托管开源软件开发项目,是世界上最大的源代码托管商。它支持使用 git 命令访问和管理平台上的项目仓库,能为用户的每个项目仓库提供访问控制、错误跟踪、软件功能请求、任务管理、持续集成和 wiki 的分布式版本控制,

gh.cn.gif

info 注意
由于 x-cmd 提供了同名模块,因此使用官方 gh 命令,只能以如下方式使用 x env use gh 命令安装 gh 模块,而不能直接 x gh

快速上手

安装

eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use gh                                # 使用 x-cmd 安装 gh

使用

  1. 使用 GitHub 认证登录 gh:

    # 打开浏览器认证登录
    gh auth login -w
    
    # 使用 GitHub token 认证登录(token 获取地址:https://github.com/settings/tokens)
    gh auth login --with-token < gh_token.txt
    
    # 验证是否登录成功
    gh auth status
    
  2. 管理 GitHub 上的仓库:

    # 列出当前用户拥有的仓库
    gh repo list
    
    # 查看指定的仓库信息,如查看 github.com/x-cmd/x-cmd 仓库
    gh repo view x-cmd/x-cmd
    
    # 将 x-cmd/x-cmd 仓库的代码同步到当前账户的分支仓库
    gh repo sync <username>/x-cmd --source x-cmd/x-cmd
    
    # 克隆 Github 上的仓库到本地
    gh repo clone x-cmd/x-cmd -- --depth=1
    

功能特点

  1. 涵盖了 GitHub 核心功能:提供仓库、Issue、PR、Actions、release 等 GitHub 核心管理功能。
  2. 支持多种认证方式:支持 OAuth、GitHub App 和个人访问令牌(PAT)等多种认证方式,确保安全访问。
  3. 插件体系:支持使用第三方或者自定义的 gh 扩展,以添加额外功能或集成其他工具。

与 x-cmd gh 模块的关系

x gh 是由 x-cmd 团队基于 GitHub API 使用 Shell 与 AWK 封装的 GitHub CLI 模块,而 GitHub 官方的 gh 是用 Go 实现的,运行高效,且拥有插件体系,功能丰富。

一般来说,同名模块都是对同名软件的二次封装,而 gh 模块则是少有的与同名软件完全没有依赖关系的模块,所以用户若想使用 gh 软件,只能使用 x env use 命令安装,而不能使用 x gh 这种模式调用。

相较而言,gh 模块:

  1. 采用 sh/awk/curl 实现,实现更为轻便,这是我们实现 gh 模块的初衷。
  2. 因为作为 x-cmd 的模块发布,无需额外安装,开箱即用。
  3. 目前已涵盖官方 gh 命令的管理功能,在参数设计提供更多的选项。
  4. 一致化体验:为了符合 x-cmd cli 的设计哲学,进而保持与其它 cli 的一致性。但也因此导致与官方 gh 命令的设计略有不同。
  5. 使用 x-cmd 的 tui 体系,提供与其它 x-cmd 模块一致且友好易用的命令行交互界面

相关项目

  1. gh-dash:一款用 Go 开发的 gh 扩展插件,能提供美观的终端图形界面操作仪表台。

进一步探索




更多内容请查阅 : pkg/gh

转载请标明原文链接www.x-cmd.com/pkg/gh


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法