一直关注 Go 语言的应该了解,GitHub 的这个项目在 2019 年 10 月份就创建了。但最近才得到较好的传播。几天时间增长到 5700+ 星星,还在快速增长中。GitHub 爱好者一定要试试。
![github-cli.png](https://static.studygolang.com/200219/3c2b705aa2492344633a0faf95d62757.png)
## 简介
GitHub 官方发布命令列工具(Beta)测试版,官方表示,GitHub CLI 提供了一种简单无缝的 GitHub 使用方法。用户可以在 macOS、Windows 和 Linux 上安装 GitHub CLI,官方会依据使用者的意见反馈,在之后版本添加更多功能。
GitHub CLI 提供大家经常使用的基本功能,例如 Issue 以及 Pull Request。大家可以利用 GitHub CLI 探索开源项目并Clone 该仓库,并且能看到设置了标签的 issue,然后开发者能直接从 GitHub CLI 开启浏览器,取得 issue 的详细信息。
开发者可以创建分支,提交修复代码以修复问题所描述的 bug,并且创建 Pull Request。在创建 Pull Request 时,GitHub CLI 也会在没有分叉时,自动创建分叉推送分支,接着才创建 Pull Request 以合并更改。
之后开发者也可以利用 GitHub CLI 快速查看 Pull Request 审查的状态,在项目维护者审查了 Pull Request,要求进一步修改时,开发者也能快速地在 GitHub CLI 中,从其他分支切回 Pull Request 分支,继续完成未完成的工作。
总结一下,目前主要支持如下功能:
- `gh pr [status, list, view, checkout, create]`
- `gh issue [status, list, view, create]`
- `gh help`
## 安装 GitHub CLI
因为它是 Go 语言实现的,作为一个 Gopher,肯定采用 Go 语言的方式安装。
```bash
$ go get -u -v github.com/cli/cli/cmd/...
```
在开启 Module 的模式下,以上方式会将 gh 命令安装到 `$GOPATH/go/bin` 目录下(一般会是 `$HOME/go/bin` )。
除此之外,官方也提供了编译好的版本以及不同操作系统特有的安装方式。
### macOS 安装
安装:
```
brew install github/gh/gh
```
升级:
```
brew update && brew upgrade gh
```
### Windows 安装
```
scoop bucket add github-gh https://github.com/cli/scoop-gh.gitscoop install gh
```
### Debian / Ubuntu Linux 安装
下载.deb 文件:
版本地址:https://github.com/cli/cli/releases/tag/v0.5.5
安装下载的文件:
```
sudo yum localinstall gh_*_linux_amd64.rpm
```
### 更多安装说明
见地址:https://github.com/cli/cli#installation-and-upgrading
## 使用方法简介
命令格式:
```
gh [command] [subcommand] --help
```
目前支持:
- `gh pr [status, list, view, checkout, create]`
- `gh issue [status, list, view, create]`
- `gh help`
更多使用帮助:https://cli.github.com/manual/
### 演示
以 https://github.com/studygolang/studygolang 为例演示。首先 cd 到本地的 studygolang 项目目录中。
**1、查看 issue 列表**
```
$ gh issue list
```
第一次会要求你授权:
> Notice: authentication required
> Press Enter to open github.com in your browser...
按回车打开浏览器进行授权。
![auhorize-github.png](https://static.studygolang.com/200219/ad528d6bf3ca71b852f9756d1f5cf832.png)
授权成功后,按回车继续。
![github-issue.png](https://static.studygolang.com/200219/17b287ebedb509b071fece7d9e5238da.png)
**2、查看具体某个 issue**
```
$ gh issue view 138
```
执行后,会打开浏览器跳转到对应的 issue 页面。
> Opening https://github.com/studygolang/studygolang/issues/138 in your browser.
其他更多功能请自己实际动手试试。
有疑问加站长微信联系(非本文作者)