GitHub CLI 1.0 主要コマンドのサブコマンド、オプションまとめ


# GitHub CLI 1.0の主要コマンドのサブコマンド、オプションまとめ



ついに`GitHub CLI 1.0`が登場しましたね。🎉

ソースコード、ドキュメントはこちらから
👉https://github.com/cli/cli
👉https://cli.github.com/

GitHub CLIは、go言語製のGitHub公式のCLIツールです。(既存のGitHubのCLIツールとして有名なのは[hub](https://github.com/github/hub)らしいですね)

従来はcommitなどの作業はターミナルで行うが、PRの作成などはブラウザを開いて行う必要がありました。
ターミナル→ブラウザ→ターミナル...みたいに頻繁にアプリを切り替える必要があり、個人的にはこのタイミングでコンテキストスイッチによって集中力が途切れがちでした。GitHubを開くためにブラウザ開いたのに、YouTubeのタブが開いていてそのまま...なんてことはよくありますよね...？GitHub CLIを利用すればこの切り替えの手間がなくなり、快適なGitHubライフを送ることができるというわけなんですね。

2020年2月頃にβ版がリリースされていたのですが、2020年9月にβ版が終了して`GitHub CLI 1.0`としてリリースされました。
β版では対応していなかったGitHub Enterprise Serverも利用できるようになったみたいですね😊


これをきっかけにGitHubCLIを使ってみようと少し触ってみたので、学んだことを共有します！
今回紹介するのは最低限の環境構築（認証、エディタの設定）とGitHubCLIの主要なコマンド `gist`, `issue`, `pr`, `release`, `repo`とそのサブコマンド、およびそれらの全フラグですが、その他コマンド`alias`や`api`なども随時更新、追加していく予定です。





## 検証環境

Mac OS X

現在MacOS, Windows, Linuxに対応しています。

## install

当方macOSなのでbrewでinstallします。

```
$ brew install gh
```

## versionを確認

🎉🎉

```
$ gh --version
gh version 1.0.0 (2020-09-16)
https://github.com/cli/cli/releases/tag/v1.0.0
```








# 環境構築

## 認証

まずはGitHubアカウントの設定を行いましょう。

```
$ gh auth login
```

対話形式で設定できるみたいですね。まずは`GitHub.com`を利用するか`GitHub Enterprise Server`を利用するか選択します。今回は`Github.com`を利用します。

```
? What account do you want to log into?  [Use arrows to move, type to filter]
> GitHub.com
  GitHub Enterprise Server
```


ログインの方法を選択します。今回はブラウザを利用しました。

```
? How would you like to authenticate?  [Use arrows to move, type to filter]
> Login with a web browser
  Paste an authentication token
```

```
? How would you like to authenticate? Login with a web browser

! First copy your one-time code: 0062-4F62
- Press Enter to open github.com in your browser...
```

表示された`one-time code`をブラウザに入力してください。

![スクリーンショット 2020-09-19 22.27.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/fbf0152d-440d-3f2d-1fde-37b18cdb7a61.png)

ブラウザの表示に従ってぽちぽちしていきます。

![スクリーンショット 2020-09-21 0.38.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/bc858da3-d657-f027-0aed-632392b49bc2.png)


![スクリーンショット 2020-09-19 22.28.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/df6c3975-5988-f789-8fe5-c17cc96b31f9.png)



![スクリーンショット 2020-09-19 22.28.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/fb710ddd-38f9-69b0-aac1-449a83338ecf.png)


次にプロトコルを選択します。`HTTPS`か`SSH`を選択します。

```
✓ Authentication complete. Press Enter to continue...

? Choose default git protocol  [Use arrows to move, type to filter]
  HTTPS
> SSH
```

これで認証の設定は完了しました。

```
? Choose default git protocol SSH
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ Logged in as JIIOryo
```

## エディタの設定

PRやissueを書く時などのエディタを設定します。今回はvimを設定しました。

```
$ gh config set editor vim
```


ちなみに公式ドキュメントによれば現状Windowsでは常にメモ帳らしい。
> On Windows, the editor will currently always be Notepad.






# コマンド

ghコマンドは、基本的に`gh <command> <subcommand> [flags]`で実行します。commandとして利用できるのは、`CORE COMMANDS`と`ADDITIONAL COMMANDS`です。

よく利用する`CORE COMMANDS`には以下の5種類があります。

```
CORE COMMANDS
  gist:       Create gists
  issue:      Manage issues
  pr:         Manage pull requests
  release:    Manage GitHub releases
  repo:       Create, clone, fork, and view repositories
```

例えば、PRやissueを新規作成したい場合はそれぞれ以下のように実行します。

```
$ gh pr create
$ gh issue create
```

コマンドの実行は、フラグを指定しない場合はだいたい以下のように対話形式で進めます。

```
$ gh pr create
? Where should we push the 'feature/hoge' branch? JIIOryo/gh_test

Creating pull request for feature/hoge into master in JIIOryo/gh_test

? Title add HOGE
? Body <Received>
? What's next? Add metadata
? What would you like to add?  [Use arrows to move, space to select, <right> to all, <left> to none, type to filter]
  [ ]  Reviewers
> [x]  Assignees
  [ ]  Labels
  [ ]  Projects
  [ ]  Milestone
```

フラグを指定することでコマンド一発で実行することもできます。

```
$ gh issue create --title 'foo' --body 'bar' --milestone 'baz'
```

これらのコマンドの使い方は後ほどそれぞれ説明します。


`ADDITIONAL COMMANDS`には以下の6種類があります。

```
ADDITIONAL COMMANDS
  alias:      Create command shortcuts
  api:        Make an authenticated GitHub API request
  auth:       Login, logout, and refresh your authentication
  completion: Generate shell completion scripts
  config:     Manage configuration for gh
  help:       Help about any command
```

今回はとりあえず`CORE COMMANDS`だけ紹介します。
随時`ADDITIONAL COMMANDS`も追加、更新していく予定です。




ちなみにコマンドによって使えるフラグが異なりますが、だいたいのコマンドで以下のフラグは使用できます。

```
INHERITED FLAGS
      --help              Show help for command
  -R, --repo OWNER/REPO   Select another repository using the OWNER/REPO format
```

コマンドを忘れて困ったら、とりあえず`gh`もしくは`gh --help`, `gh -h`を叩けば利用できるコマンドの一覧が取得できます。

```
$ gh repo clone -h
Clone a GitHub repository locally.

If the "OWNER/" portion of the "OWNER/REPO" repository argument is omitted, it
defaults to the name of the authenticating user.

Pass additional 'git clone' flags by listing them after '--'.


USAGE
  gh repo clone <repository> [<directory>] [-- <gitflags>...]

INHERITED FLAGS
  --help   Show help for command

LEARN MORE
  Use 'gh <command> <subcommand> --help' for more information about a command.
  Read the manual at https://cli.github.com/manual
```













# 🍎🍎 gh repoコマンド 🍎🍎


`gh repo`コマンドは、リポジトリの作成やclone、forkなどのリポジトリ関連の操作を行うことができます。

`gh repo <command> [flags]`で実行し、`<command>`には以下の4つが利用できます。

```
clone:      Clone a repository locally
create:     Create a new repository
fork:       Create a fork of a repository
view:       View a repository
```











## 🍀🍀 gh repo clone 🍀🍀


`gh repo clone`は、リポジトリのcloneを行うことができます。





`gh repo clone <repository> [<directory>] [-- <gitflags>...]`で実行します。

### 例

```
$ gh repo clone cli/cli

Cloning into 'cli'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 13758 (delta 9), reused 11 (delta 3), pack-reused 13737
Receiving objects: 100% (13758/13758), 32.50 MiB | 4.07 MiB/s, done.
Resolving deltas: 100% (9177/9177), done.
```

リポジトリの後ろにcloneしたいパスを指定することもできます。

```
$ gh repo clone cli/cli path/to/repos
Cloning into 'path/to/repos'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 13758 (delta 9), reused 11 (delta 3), pack-reused 13737
Receiving objects: 100% (13758/13758), 32.50 MiB | 3.77 MiB/s, done.
Resolving deltas: 100% (9174/9174), done.

$ ls !$
ls path/to/repos
LICENSE   README.md auth      command   docs      go.mod    internal  script    update    wix.json
Makefile  api       cmd       context   git       go.sum    pkg       test      utils
```

  











## 🍀🍀 gh repo create 🍀🍀


`gh repo create`は、リポジトリの新規作成を行うことができるコマンドです。




  

`gh repo create [<name>] [flags]`で実行します。
  

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -y | --confirm | 確認なし |
| -d | --description  |   リポジトリの説明を追加 |
|  | --enable-issues |   issueを有効にするか(デフォルトtrue) |
|  | --enable-wiki |  wikiを有効にするか(デフォルトtrue) |
| -h | --homepage |  ホームページURL |
|  | --internal |   リポジトリをinternalで作成するか |
|  | --private |   リポジトリをprivateで作成するか |
|  | --private |   リポジトリをpublicで作成するか |
| -t | --team | アクセスできるorganizationチーム |
| -p | --template | テンプレートリポジトリから作成 |
  


### 対話形式で作成

fooというリポジトリを作ってみましょう。
以下の質問がされます。

1. Visibility（publicなのかprivateなのかとか）どうする？
2. currentディレクトリに作って良い？(Noを指定するとリポジトリ作らない。yesならこの時点でGitHub上に作成される)
3. ローカルプロジェクトディレクトリをつくる？（Noを指定するとローカルのカレントディレクトリには作られない）


```
$ gh repo create foo
? Visibility Public
? This will create 'foo' in your current directory. Continue?  Yes
✓ Created repository JIIOryo/foo on GitHub
? Create a local project directory for JIIOryo/foo? Yes
Initialized empty Git repository in /path/to/repos/foo/.git/
✓ Initialized repository in './foo/'
```

ローカルプロジェクトディレクトリを作るを選択すると、ローカルにディレクトリを作成してgit initをしてくれてるっぽい。
https://github.com/cli/cli/blob/b2e36a0979a06b94bf364552a856c166cd415234/pkg/cmd/repo/create/create.go#L291

### コマンド一発で作成

例えば、`hoge-repo`リポジトリを公開で説明付きで作成したい場合...

```
$ gh repo create hoge-repo -y -d 'This is description!' --public

✓ Created repository JIIOryo/hoge-repo on GitHub
Initialized empty Git repository in /path/to/repos/hoge-repo/.git/
✓ Initialized repository in './hoge-repo/'
```

こんな感じにリポジトリが一発で作成されました😲



![スクリーンショット 2020-09-20 2.46.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/aa025104-f51f-8d1e-de05-249667d6a256.png)



















## 🍀🍀 gh repo fork 🍀🍀

`gh repo fork`コマンドは、リポジトリのforkの新規作成を行うことができます。



  
`gh repo fork [<repository>] [flags]`で実行します。


### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
|  |  --clone | cloneするかどうか |
|  | --remote  |  リモートを設定するか |




### 例

対話形式でforkしてみます。（cloneするかどうか聞かれる）

```
$ gh repo fork cli/cli

- Forking cli/cli...
✓ Created fork JIIOryo/cli
? Would you like to clone the fork? Yes

Cloning into 'cli'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 13758 (delta 9), reused 11 (delta 3), pack-reused 13737
Receiving objects: 100% (13758/13758), 32.50 MiB | 3.77 MiB/s, done.
Resolving deltas: 100% (9174/9174), done.
Updating upstream
From github.com:cli/cli
 * [new branch]      auth-check              -> upstream/auth-check
 * [new branch]      branch-switcher         -> upstream/branch-switcher
 * [new branch]      bulk-cmd                -> upstream/bulk-cmd
 * [new branch]      custom-commands         -> upstream/custom-commands
 * [new branch]      debians                 -> upstream/debians
 * [new branch]      default-cfg             -> upstream/default-cfg
 * [new branch]      fix-query               -> upstream/fix-query
 * [new branch]      ghe-conditional-request -> upstream/ghe-conditional-request
 * [new branch]      gist-list               -> upstream/gist-list
 * [new branch]      linux-repos             -> upstream/linux-repos
 * [new branch]      migrate-repo-clone      -> upstream/migrate-repo-clone
 * [new branch]      more-gists              -> upstream/more-gists
 * [new branch]      multi-graphql           -> upstream/multi-graphql
 * [new branch]      pager-docs              -> upstream/pager-docs
 * [new branch]      patch-review-prototype  -> upstream/patch-review-prototype
 * [new branch]      relective-pr-lookup     -> upstream/relective-pr-lookup
 * [new branch]      run-checks              -> upstream/run-checks
 * [new branch]      search-cmd              -> upstream/search-cmd
 * [new branch]      the-newlygit-game       -> upstream/the-newlygit-game
 * [new branch]      trunk                   -> upstream/trunk
 * [new branch]      ubuntus                 -> upstream/ubuntus
 * [new branch]      web-flag                -> upstream/web-flag
✓ Cloned fork

$ ls cli

LICENSE   api       command   git       internal  test      wix.json
Makefile  auth      context   go.mod    pkg       update
README.md cmd       docs      go.sum    script    utils

```

  











## 🍀🍀 gh repo view 🍀🍀

`gh repo view`コマンドは、リポジトリのdescriptionとREADMEを参照することができます。



`gh repo view [<repository>] [flags]`で実行します。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -w | --web |   ブラウザで開く |
  

### 例

リポジトリを明示的に指定しなければ現在いるリポジトリのREADMEが表示されます。ちゃんとマークダウンを認識して色が付けられていてとてもみやすいです😊


![スクリーンショット 2020-09-19 22.53.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/349d5c14-1f78-570e-9d47-efde1dce2df8.png)



ただ注意点としては、あくまでGitHub上の情報を参照しているので、ローカルでREADMEを作成、変更しても、pushしないと`gh repo view`ではみることができません。

`-w`フラグをつけることで、ブラウザを開いて参照することができます。一発でジャンプできて便利。

```
$ gh repo view cli/cli -w
Opening github.com/cli/cli in your browser.
```





  


















# 🍎🍎 gh pr コマンド 🍎🍎



`gh pr`コマンドは、プルリクの作成やマージ、ステータスを確認することができます。

`gh pr <command> [flags]`で実行し、`<command>`には以下の12個が利用できます。

```
checkout:   Check out a pull request in git
checks:     Show CI status for a single pull request
close:      Close a pull request
create:     Create a pull request
diff:       View changes in a pull request
list:       List and filter pull requests in this repository
merge:      Merge a pull request
ready:      Mark a pull request as ready for review
reopen:     Reopen a pull request
review:     Add a review to a pull request
status:     Show status of relevant pull requests
view:       View a pull request
```

prコマンドでは、基本的にブランチやPR番号を指定します。
ちなみに何も指定しないとカレントブランチを指定するようです。
https://github.com/cli/cli/blob/b2e36a0979a06b94bf364552a856c166cd415234/pkg/cmd/pr/shared/lookup.go#L34-L37



## 🍀🍀 gh pr create 🍀🍀


`gh pr create`コマンドは、PRを作成することができるコマンドです。



`gh pr create [flags]`で実行します。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -a | --assignee | assigneeを指定 |
| -B | --base | マージ先ブランチ |
| -b | --body | PRのbody(説明) |
| -d | --draft | draftでPRを作成 |
| -f | --fill | titleとbodyを入力しない。commit情報を使って埋める。 |
| -H | --head | PRを作成したいブランチを指定(デフォルトでカレントブランチ) |
| -l | --label | ラベルを指定 |
| -m | --milestone | マイルストーンを指定|
| -p | --project | プロジェクトを指定 |
| -r | --reviewer | reviewerを指定 |
| -t | --title | タイトルを指定 |
| -w | --web | PR作成画面をブラウザで開く |




### 対話形式で作成
  
```
$ gh pr create
? Where should we push the 'feature/hoge' branch?  [Use arrows to move, type to filter]
> JIIOryo/foo
  Skip pushing the branch
  Cancel
```

タイトルを入力します。

```
? Title (add hoge.txt) add HOGE
```

`e`を押すとエディタが開き、PRの文章を記述できます。

```
? Body [(e) to launch vim, enter to skip]
```


submitするとPRが作成されます。

```
? What's next?  [Use arrows to move, type to filter]
> Submit
  Continue in browser
  Add metadata
  Cancel
```


![スクリーンショット 2020-09-20 3.39.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/f97921f9-9b7e-9a75-c4ba-19dc2206c39a.png)




### コマンド一発で作成


```
$ gh pr create -t 'add FUGA' -b '# fugafuga' -m foo -l hoge -B feature/hoge -d
```
これで一発でこのPRができます。スゴい。

この例では`-m`がマイルストーンで、`-l`がラベル、`-B`がマージ先ブランチ、`-d`がドラフトPRです。
ラベルなど、複数ある場合は`,`でつなげる。

pushしていない場合は対話形式同様pushする？って聞かれる。

```
? Where should we push the 'feature/foo' branch? JIIOryo/foo
```

![スクリーンショット 2020-09-20 3.53.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/ba7cc059-aa4a-a74c-210e-d7ae4e7aca2c.png)










## 🍀🍀 gh pr close 🍀🍀

`gh pr close`コマンドは、PRをクローズできるコマンドです。



`gh pr close {<number> | <url> | <branch>} [flags]`で実行します。
PRの指定方法は`branch`, `PR番号`, `url`の3種類あります。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -d | --delete-branch | ブランチを削除する |




#### ブランチ名で指定


これが一番直感的でわかりやすいです。

```
$ gh pr close feature/fuga
✔ Closed pull request #5 (add FUGA)
```

#### PR番号で指定
```
$ gh pr close 5
✔ Closed pull request #5 (add FUGA)
```
  
#### URLで指定

```
$ gh pr close https://github.com/JIIOryo/foo/pull/5
✔ Closed pull request #5 (add FUGA)
```

#### ブランチも消す

`-d`オプションをつけることで、ブランチごと削除することが可能です。これは便利。

```
$ gh pr close feature/fuga -d
✔ Closed pull request #5 (add FUGA)
✔ Deleted branch feature/fuga and switched to branch master
```




  
  






## 🍀🍀 gh pr reopen 🍀🍀

`gh pr reopen`コマンドは、クローズしたPRを再び開くができます。


  
`gh pr reopen {<number> | <url> | <branch>} [flags]`で実行する。
  
ReopenするPRを指定方法は`branch`, `PR番号`, `url`の3種類あります。



#### PR番号でreopen
```
$ gh pr reopen 5
✔ Reopened pull request #5 (add FUGA)
```
  
#### URLで指定

```
$ gh pr reopen https://github.com/JIIOryo/foo/pull/5
✔ Reopened pull request #5 (add FUGA)
```


#### ブランチ名で指定

自分の場合ブランチ名で指定してもうまくいかなかったです。

```
$ gh pr reopen feature/fuga
no open pull requests found for branch "feature/fuga"
```


  











## 🍀🍀 gh pr list 🍀🍀

`gh pr list`コマンドは、PRの一覧を表示するコマンドです。




`gh pr list [flags]`で実行する。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -a |  --assignee | assigneeでフィルタリング |
| -B | --base  |   ベースブランチでフィルタリング |
| -l | --label |   ラベルでフィルタリング |
| -L | --limit |   最大表示個数を指定（デフォルト30） |
| -s | --state |   状態を指定 `open`,`closed`,`merged`,`all`が指定可能 (デフォルト`open`） |
| -w | --web |   ブラウザでPR一覧のページを開く |


### 例

```
$ gh pr list

Showing 4 of 4 open pull requests in JIIOryo/foo

#13  add fugahoge  feature/fugahoge
#9   add hogefuga  feature/hogefuga
#6   add FOO       feature/foo
#1   add HOGE      feature/hoge
```

  

```
$ gh pr list -B master -l hoge -L 3

Showing 1 of 1 pull request in JIIOryo/foo that matches your search

#1  add HOGE  feature/hoge
```



  










## 🍀🍀 gh pr diff 🍀🍀

`gh pr diff`コマンドは、PRのdiffを確認することができるコマンドです。



`gh pr diff [<number> | <url> | <branch>] [flags]`で実行する。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
|  |  --color | 色。`always`, `never`, `auto`のうちいずれかを選択。(デフォルト`auto`)|




### 例

![スクリーンショット 2020-09-20 11.26.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/b03bae95-da8f-4755-4a84-f39156717fb8.png)


diffに関してはブラウザの方がわかりやすいので、これで`-w`フラグが利用できたら便利なんですけどね。
  


  
  
  









## 🍀🍀 gh pr merge 🍀🍀

`gh pr merge`コマンドは、PRをマージすることができます。



`gh pr merge [<number> | <url> | <branch>] [flags]`で実行する。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -d | --delete-branch | ブランチを削除するか(デフォルト true) |
| -m | --merge  |   マージコミットを作成 |
| -r | --rebase |   リベース |
| -s | --squash  |   スカッシュマージ |




### 対話形式で試す

mergeは、マージコミットを作成、リベース、スカッシュマージの3種類が利用できます。

```
$ gh pr merge
? What merge method would you like to use?  [Use arrows to move, type to filter]
> Create a merge commit
  Rebase and merge
  Squash and merge
```

ブランチを削除するか聞かれます。

```
? Delete the branch locally and on GitHub? (Y/n)
```

Done

```
✔ Merged pull request #7 (add baz)
✔ Deleted branch feature/baz and switched to branch master
```

### コマンド一発でマージする

```
$ gh pr merge --squash feature/piyo
✔ Squashed and merged pull request #8 (add piyo)
✔ Deleted branch feature/piyo and switched to branch master
```














## 🍀🍀 gh pr ready 🍀🍀

`gh pr ready`コマンドは、draftPRをreview可能状態に変更するコマンドです。



`gh pr ready [<number> | <url> | <branch>] [flags]`で実行する。

### 例

最初はドラフト状態（グレーの状態）です。


![スクリーンショット 2020-09-20 11.53.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/a8f1b818-ce83-cac0-61ce-904fdbdb873f.png)


`gh pr ready`してみます。
ReopenするPRを指定方法は`branch`, `PR番号`, `url`の3種類あります。
指定しない場合はカレントブランチを指定したことになります。

![スクリーンショット 2020-09-20 11.53.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/9b6c41a9-c5f5-ea5e-0476-13e06a830db3.png)


PRのstatusがレビュー可能状態（緑）に変わりました。


![スクリーンショット 2020-09-20 11.54.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/b93297f0-a0ee-43f8-6aca-05deaf18bddd.png)









## 🍀🍀 gh pr status 🍀🍀

`gh pr status`コマンドは、PRのステータスを確認することができるコマンドです。



`gh pr status [flags]`で実行します。


### 例

draftはグレー、レビュー可能は緑色、Closedは赤に表示されました。


![スクリーンショット 2020-09-20 23.02.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/0b27f6b7-3475-4466-138a-5d4271cc2cf0.png)













## 🍀🍀 gh pr review 🍀🍀

`gh pr review`コマンドは、レビューをすることができるコマンドです。




`gh pr review [<number> | <url> | <branch>] [flags]`で実行します。

PRの指定方法は`branch`, `PR番号`, `url`の3種類あります。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -a | --approve | PRをapproveする |
| -b | --body  |   レビューのメッセージを指定 |
| -c | --comment |   PRのコメント (-bが必要) |
| -r | --request-changes  |   変更依頼 |





### 対話形式でレビューする

`coment`, `approve`, `request changes`の3つから選ぶことができます。コメントしてみましょう。

```
$ gh pr review feature/foo
? What kind of review do you want to give?  [Use arrows to move, type to filter]
> Comment
  Approve
  Request changes
```

`e`を押すとエディタが開いてコメントを書くことができます。

```
? Review body [(e) to launch vim]
```

確認があるので、submitしましょう。

```
? Review body <Received>
Got:

  hoge

? Submit? (Y/n)
```

無事にレビューできました。

```
? Submit? Yes
- Reviewed pull request #6
```

### 対話形式でapproveする

approveを選択します。

```
$ gh pr review feature/foo
? What kind of review do you want to give?  [Use arrows to move, type to filter]
  Comment
> Approve
  Request changes
```

`e`を押すとエディタが開いてコメントを書くことができます。

```
? Review body [(e) to launch vim, enter to skip]
```

Approveのときのメッセージが確認できます。Submitしましょう。

```
? Review body <Received>
Got:

  LGTM🎉

? Submit? (Y/n)
```



### コマンド一発でレビューする

`-c`はコメント、`-a`でapproveすることができます。
これらのメッセージは`-b`で指定します。

```
$ gh pr review feature/foo -c -b 'hoge'
- Reviewed pull request #6
```











## 🍀🍀 gh pr checks 🍀🍀

`gh pr checks`コマンドは、CIのステータスを取得できるコマンドです。



  
`gh pr checks [flags]`で実行します。

### 例

```
$ gh pr checks
All checks were successful
0 failing, 1 successful, and 0 pending checks

✓  ci/circleci: run    https://circleci.com/gh/JIIOryo/foo/2...
```















## 🍀🍀 gh pr view 🍀🍀

`gh pr view`コマンドは、PRのタイトルやbodyの内容などの情報を表示するコマンドです。




`gh pr view [<number> | <url> | <branch>] [flags]`で実行します。
PRの指定方法は`branch`, `PR番号`, `url`の3種類あります。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -w | --web | ブラウザで開く |




### 例

今回はブランチ名から指定します。

```
$ gh pr view feature/hogefuga
```

![スクリーンショット 2020-09-20 12.45.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/c1338409-c464-d43e-2d75-5a93a404ba8c.png)



 

### ブラウザで開く

カレントブランチ（指定なし）のPRをブラウザで開きたいときは`-w`フラグを利用します。

```
$ gh pr view -w
Opening github.com/JIIOryo/foo/pull/9 in your browser.
(ブラウザが開く)
```

これは便利。使えそう。

 

  
  
  
  
  
  




## 🍀🍀 gh pr checkout 🍀🍀


`gh pr checkout`コマンドは、指定したPR（ブランチ）にcheckoutするコマンドです。



`gh pr checkout {<number> | <url> | <branch>} [flags]`で実行します。



### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
|  | --recurse-submodules | 再帰的に全てのアクティブなサブモジュールを更新する |


### 例

```
$ gh pr checkout feature/hogefuga
Switched to branch 'feature/hogefuga'
Already up to date.
```

ちなみに実装を見ると、ローカルにブランチがある場合、`fetch` `checkout` `merge`を行い、そうでない場合は`checkout -b`で新しいブランチを作成してくれているようですね。
https://github.com/cli/cli/blob/b2e36a0979a06b94bf364552a856c166cd415234/pkg/cmd/pr/checkout/checkout.go#L118-L133
  
\





































# 🍎🍎 gh issue コマンド 🍎🍎



`gh issue`コマンドは、issueの作成や閲覧することができます。

`gh issue <command> [flags]`で実行し、`<command>`には以下の6個が利用できます。

```
close:      Close issue
create:     Create a new issue
list:       List and filter issues in this repository
reopen:     Reopen issue
status:     Show status of relevant issues
view:       View an issue
```









## 🍀🍀 gh issue create 🍀🍀

`gh issue create`コマンドは、issueを作成することができるコマンドです。




`gh issue create [flags]`で実行する。


  
### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -a | --assignee | assigneeを指定 |
| -b | --body  |   bodyを指定 |
| -l | --label |   ラベルを指定 |
| -m | --milestone  |  マイルストーンを指定 |
| -p | --project  |  プロジェクトを指定 |
| -t | --title  |  タイトルを指定 |
| -w | --web  |  ブラウザで開く |


  
### 対話形式でissueを作成

まずはタイトルを指定します。

```
$ gh issue create

Creating issue in JIIOryo/foo

? Title hoge bug 🐛
```

`e`を押すことで、エディタが開きます。

```
? Body [(e) to launch vim, enter to skip]
```

入力が完了。

```
? Body <Received>
? What's next?  [Use arrows to move, type to filter]
> Submit
  Continue in browser
  Add metadata
  Cancel
```

`Add metadata`で、assigneeやlabelを指定することができます。移動は上下ボタン、選択はスペースキーです。確定はEnter。

```
? What would you like to add?  [Use arrows to move, space to select, <right> to all, <left> to none, type to filter]
  [ ]  Assignees
> [x]  Labels
  [ ]  Projects
  [ ]  Milestone
```

Labelを選択すると、以下のようにラベル一覧が表示されます。同様に移動は上下ボタン、選択はスペースキーです。確定はEnter。

```
? Labels  [Use arrows to move, space to select, <right> to all, <left> to none, type to filter]
  [x]  bug
  [ ]  documentation
  [ ]  duplicate
> [ ]  enhancement
  [x]  fuga
  [ ]  good first issue
  [ ]  help wanted
```

Submitしましょう。

```
? What's next?  [Use arrows to move, type to filter]
> Submit
  Cancel
```

```
https://github.com/JIIOryo/foo/issues/11
```

issueができたみたいなので、みてみます。


![スクリーンショット 2020-09-20 13.41.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/cebc7155-ea96-3ca1-f525-4af4aa60bac2.png)



### コマンドで一発でissueを作成する。

`-t`でタイトル、`-b`でbody、`-l`でラベル、`-m`でマイルストーンを選択してみました。

```
$ gh issue create -t 'fuga bug 🐛' -b 'fugafuga' -l hoge,fuga -m foo

Creating issue in JIIOryo/foo

https://github.com/JIIOryo/foo/issues/12
```

ちなみに、`-w`オプションをつけるとissueを作成する画面がブラウザで開きます。



  
  
  
  
  
  
## 🍀🍀 gh issue list 🍀🍀

`gh issue list`コマンドは、issueの一覧を表示することができます。



`gh issue list [flags]`で実行する。


### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -a | --assignee | assigneeでフィルタリング |
| -A | --author | authorでフィルタリング |
| -l | --label |   ラベルでフィルタリング |
| -L | --limit | issueの最大表示件数を指定 (デフォルト30件) |
| -m | --milestone  |  マイルストーンをでフィルタリング |
| | --mention | メンションでフィルタリング |
| -p | --project  |  プロジェクトを指定 |
| -s | --state  |  状態でフィルタリング `open`,`closed`,`all`が指定できます。（デフォルト`open`） |
| -w | --web  |  ブラウザで開く |


### 例

```
$ gh issue list

Showing 2 of 2 open issues in JIIOryo/foo

#12  fuga bug 🐛  (fuga, hoge)       about 5 minutes ago
#11  hoge bug 🐛  (bug, fuga, hoge)  about 9 minutes ago
```

フラグを付けて検索してみます。

```
$ gh issue list -l hoge,fuga -L 1 -s all

Showing 1 of 2 issues in JIIOryo/foo that match your search

#12  fuga bug 🐛  (fuga, hoge)  about 10 minutes ago
```












## 🍀🍀 gh issue status 🍀🍀

`gh issue status`コマンドは、issueのステータスを表示するコマンドです。




`gh issue status [flags]`で実行する。
自分がアサインされたissue, メンションされたissue, 自分が作成したissueを確認することができます。

### 例

```
$ gh issue status

Relevant issues in JIIOryo/foo

Issues assigned to you
  #12  fuga bug 🐛  (fuga, hoge)  less than a minute ago

Issues mentioning you
  #12  fuga bug 🐛  (fuga, hoge)  less than a minute ago

Issues opened by you
  #12  fuga bug 🐛  (fuga, hoge)       less than a minute ago
  #11  hoge bug 🐛  (bug, fuga, hoge)  about 3 hours ago
```

  
  

















## 🍀🍀 gh issue close 🍀🍀

`gh issue close`コマンドは、issueをcloseすることができるコマンドです。




`gh issue close {<number> | <url>} [flags]`で実行する。
issueを選択する方法は、`issue番号`, `issueのURL`の2つがあります。

### 例

```
$ gh issue close 12
✔ Closed issue #12 (fuga bug 🐛)
```

```
$ gh issue close https://github.com/JIIOryo/foo/issues/12
✔ Closed issue #12 (fuga bug 🐛)
```


  
  
  
  








## 🍀🍀 gh issue reopen 🍀🍀

`gh issue reopen`コマンドは、closeしたissueを再び開くコマンドです。



`gh issue reopen {<number> | <url>} [flags]`で実行します。
issueを選択する方法は、`issue番号`, `issueのURL`の2つがあります。

```
$ gh issue reopen 12
✔ Reopened issue #12 (fuga bug 🐛)
```

```
$ gh issue reopen https://github.com/JIIOryo/foo/issues/12
✔ Reopened issue #12 (fuga bug 🐛)
```
 
 








## 🍀🍀 gh issue view 🍀🍀

`gh issue view`コマンドは、issueを閲覧することができるコマンドです。



`gh issue view {<number> | <url>} [flags]`で実行する。
issueを選択する方法は、`issue番号`, `issueのURL`の2つがあります。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -w | --web | ブラウザで開く |

### 例

```
$ gh issue view 11
```

```
$ gh issue view https://github.com/JIIOryo/foo/issues/11
```


![スクリーンショット 2020-09-20 17.31.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/83c15bd3-573a-1db9-3b7b-9abb5ea1dec7.png)


markdownがしっかり認識されて色付けされていてみやすいですが、ブラウザでしっかり確認したい場合もあります。

そのような場合は`-w`オプションを利用します。


```
$ gh issue view 11 -w
Opening github.com/JIIOryo/foo/issues/11 in your browser.
```





![スクリーンショット 2020-09-20 17.34.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/9c56b593-eb53-6b28-71d5-948b12f43c86.png)



























# 🍎🍎 gh release コマンド 🍎🍎



`gh release`コマンドは、releaseの作成や削除ができるコマンドです。

`gh release <command> [flags]`で実行し、`<command>`には以下の6個が利用できます。

```
create:     Create a new release
delete:     Delete a release
download:   Download release assets
list:       List releases in a repository
upload:     Upload assets to a release
view:       View information about a release
```






## 🍀🍀 gh release create 🍀🍀

`gh release create`コマンドは、releaseを作成することができるコマンドです。




`gh release create <tag> [<files>...] [flags]`で実行する。

 
### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -d | --draft | ドラフトのリリースを作成 |
| -n | --notes  |   Release notesを作成 |
| -F | --notes-file | Release notesをファイルから指定して作成  |
| -p | --prerelease  |   prerelease（不安定なバージョン）であることを知らせます。 |
| -t | --title | リリースのタイトルを指定します。 |



### 対話形式でreleaseを作成

releaseを対話形式で作成してみます。まずはタイトルを入力。

```
$ gh release create v0.0.1
? Title (optional) hoge
```

Release noteを書くか選択します。
今回は`Write my own`を選択します。

```
? Release notes  [Use arrows to move, type to filter]
> Write my own
  Leave blank
```

prereleaseかどうか聞かれます。今回はyにします。

```
? Is this a prerelease? (y/N)
```

releaseをpublishするか、draftとして保存するかなどを選択できます。
今回はpublishします。

```
? Submit?  [Use arrows to move, type to filter]
> Publish release
  Save as draft
  Cancel
```

以上で完了です。

出力されたURLを開いてみると、v0.0.1のタグでリリースを作成することができました。


![スクリーンショット 2020-09-20 17.47.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/7dd8c541-fcc5-8dc9-d172-e0256aa317e8.png)


 













## 🍀🍀 gh release list 🍀🍀

`gh release list`コマンドは、リリース一覧を表示するコマンドです。



`gh release list [flags]`で実行します。


### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -L | --limit | 一度に取得する上限数（デフォルト30） |





### 例


以下で実行してみます。

```
$ gh release list
```

このように、releaseの一覧が取得できました。


![スクリーンショット 2020-09-20 17.59.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/48588fe5-4b16-cb26-acee-82a0e2ed6271.png)



  
  













## 🍀🍀 gh release upload 🍀🍀

`gh release upload`コマンドは、releaseのassetsをアップロードすることができるコマンドです。



`gh release upload <tag> <files>... [flags]`で実行します。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| | --clobber | 同名のassetsを上書きするか |



### 例

試しに、v0.4.0に`foo.txt`,`bar.txt`を追加してみましょう。

```
$ gh release upload v0.4.0 foo.txt bar.txt
Successfully uploaded 2 assets to v0.4.0
```

![スクリーンショット 2020-09-21 0.54.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/a107dc61-eeeb-88e0-fc6e-ae5f999dc431.png)


ちなみに、同じ名前のassetsがすでにuploadされている場合は怒られます。

```
$ gh release upload v0.4.0 foo.txt
asset under the same name already exists: [foo.txt]
```

`--clobber`フラグを付ければ上書きできます。

```
$ gh release upload v0.4.0 foo.txt --clobber
Successfully uploaded 1 asset to v0.4.0
```

















## 🍀🍀 gh release download 🍀🍀

`gh release download`コマンドは、releaseのassetsをダウンロードすることができるコマンドです。



`gh release download [<tag>] [flags]`で実行します。


### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -D |  --dir  | ダウンロードする先のディレクトリ（デフォルトで`.`） |
| -p | --pattern  | 特定のglobパターンにマッチするassetsをダウンロード |


### 例

ダウンロード先はデフォルトでカレントディレクトリです。

```
$ gh release download v0.4.0
```

`-D`フラグでダウンロード先の指定、`-p`フラグでglobのパターンを指定することができます。

```
$ gh release download v0.4.0 -D ~/Desktop/ -p '*.txt'
```



  
  
  
  
  
  


## 🍀🍀 gh release delete 🍀🍀

`gh release delete`コマンドは、releaseを削除することができるコマンドです。



`gh release delete <tag> [flags]`で実行します。


  
### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -y | --yes | 削除の確認をスキップ |


### 例

例えば、現在以下のようなreleaseがあり、`v0.0.2`のリリースを削除してみます。

```
$ gh release list
foo       Latest       (v0.4.0)  about 16 minutes ago
foo                    (v0.3.0)  about 26 minutes ago
add fuga  Draft        (v0.0.2)  about 46 minutes ago
foo       Pre-release  (v0.2.0)  about 34 minutes ago
fuga                   (v0.1.0)  about 37 minutes ago
hoge      Pre-release  (v0.0.1)  about 50 minutes ago
```

リリースを削除してもいいか質問されるのでyを選択。

```
$ gh release delete v0.0.2
? Delete release v0.0.2 in JIIOryo/foo? (Y/n) y
✓ Deleted release v0.0.2
```

ちなみに、`-y` オプションを選択することで確認なしで削除できる。



```
$ gh release delete v0.0.2 -y
```


  
  
  
  









## 🍀🍀 gh release view 🍀🍀

`gh release view`コマンドは、releaseの情報を閲覧することができるコマンドです。



`gh release view [<tag>] [flags]`で実行する。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -w | --web | ブラウザで開く |


### 例


![スクリーンショット 2020-09-20 18.45.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/5467f159-c2a5-7cef-de2e-d7294d8e7eb3.png)


少しターミナルではみづらいと言う場合は、`-w`フラグを付けてブラウザで開くと良いでしょう。


```
$ gh release view v0.4.0 -w
```

![スクリーンショット 2020-09-20 18.45.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422521/07f74d38-0544-e4d8-623d-1932a3320476.png)

  


  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  


# 🍎🍎 gh gist コマンド 🍎🍎



`gh gist`コマンドは、gistの作成や削除などができるコマンドです。

`gh gist <command> [flags]`で実行し、`<command>`には以下の4個が利用できます。

```
create:     Create a new gist
edit:       Edit one of your gists
list:       List your gists
view:       View a gist
```









## 🍀🍀 gh gist create 🍀🍀

`gh gist create`コマンドは、gistを新規作成することができるコマンドです。





`gh gist create [<filename>... | -] [flags]`で実行する。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -d | --desc | gistの説明を指定 |
| -f | --filename  |   ファイル名を指定 (標準入力から指定する場合) |
| -p | --public |  gistを公開する (デフォルトprivate) |


### 例

このようにファイル名を指定する方法を一番使うかと思います。

```
$ gh gist create hogefuga.txt
- Creating gist hogefuga.txt
✓ Created gist hogefuga.txt
https://gist.github.com/d09d42c7ef0643c432129f7085ffde9d
```

標準入力から内容を指定する場合、`--filename`でファイル名を指定することができる。

```
$ echo hogehoge | gh gist create --filename hoge.txt
- Creating gist hoge.txt
✓ Created gist hoge.txt
```

もしくは、`-`を利用する。書き終わったらCtrl+Dで抜けることができる。

```
$ gh gist create - --filename hoge.js

const hoge = 'hoge';
console.log(hoge);

- Creating gist hoge.js
✓ Created gist hoge.js
```
  


















## 🍀🍀 gh gist list 🍀🍀

`gh gist list`コマンドは、gistの一覧を取得できるコマンドです。



`gh gist list [flags]`で実行する。

 
### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -L | --limit | 表示最大件数を指定する(デフォルト 10) |
|  | --public  |   publicのgistを表示する |
|  | --secret |   secretのgistを表示する |

### 例

```
$ gh gist list
f6b19a5e7516b0bbadcba6e3b8732e62  hoge.js       1 file  secret  about 12 min...
08b23d0bc86a40cc74a7b2249259c7f8                1 file  secret  about 13 min...
1a564f0f1c176a7de2fff7738adc187c                1 file  secret  about 15 min...
c722167d04f9aa8528255f7db0f84e7f  hoge.txt      1 file  secret  about 17 min...
d09d42c7ef0643c432129f7085ffde9d  hogefuga.txt  1 file  secret  about 23 min...
8170566345795f3d330cef2fff57609e  hoge.txt      1 file  secret  about 19 hou...
```

 
  
  
  
  


















## 🍀🍀 gh gist edit 🍀🍀

`gh gist edit`コマンドは、自分のgistを編集することができるコマンドです。


 
`gh gist edit {<gist ID> | <gist URL>} [flags]`で実行する。
あらかじめ`gh gist list`などでIDを調べる必要があります。もしくはgistのURLでも指定することができます。
  
### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -f | --filename | ファイル名 |



### 例

以下を実行すると、エディタが開いて編集することができます。

```
$ gh gist edit f6b19a5e7516b0bbadcba6e3b8732e62
```


複数ファイルから構成されるgistの場合は、editするファイルを選択します。

```
$ gh gist edit d7f1cc09968c1064f42dfb92181ee983
? Edit which file?  [Use arrows to move, type to filter]
> bar.txt
  hogefuga.js
  hogefuga.txt
```

他のファイルも編集する場合は`Edit another file`を選択します。終了したら`Submit`する。

```
? What next?  [Use arrows to move, type to filter]
> Edit another file
  Submit
  Cancel
```

ちなみに`--filename`フラグを利用して特定のファイルを指定することができます。

```
$ gh gist edit d7f1cc09968c1064f42dfb92181ee983 --filename hogefuga.txt
```

  
  
  
  













## 🍀🍀 gh gist view 🍀🍀

`gh gist view`コマンドは、gistを閲覧するコマンドです。



`gh gist view {<gist id> | <gist url>} [flags]`で実行する。
あらかじめ`gh gist list`などでIDを調べる必要があります。もしくはgistのURLでも指定することができます。

### フラグ

以下のフラグが利用できます。

| flags short  |      flags long      |  説明 |
|:----------:|:-------------:|:------:|
| -f | --filename | ファイル名を指定 |
| -r | --raw  |  markdownをレンダリングしない |
| -w | --web |   ブラウザで開く |


### 例

これは、複数のファイルから構成されているケースです。

```
$ gh gist view d7f1cc09968c1064f42dfb92181ee983
bar.txt

bar


hogefuga.js

const hoge = 'hoge';
const fuga = 'fuga';
console.log(hoge, fuga);


hogefuga.txt

foo
bar
baz

```

指定したgistが複数のファイルから構成されている場合は特定のファイルのみを指定することもできます。

```
$ gh gist view d7f1cc09968c1064f42dfb92181ee983 --filename hogefuga.js
const hoge = 'hoge';
const fuga = 'fuga';
console.log(hoge, fuga);

```

  
  
  
  
  
  




# 最後に


GitHub CLIコマンドいかがだったでしょうか。

個人的には、さすがにPRのレビューなどをターミナル完結で行うのは厳しそうなので、どれも（issueやPRなど）listで一覧をみて探す→-wでブラウザで開くってのが使いやすそうだと思いました。
まだ紹介していないその他コマンド`alias`や`api`なども随時更新、追加していく予定です！
当方まだGitHub CLIに精通していなくて基本的なコマンドしか紹介できませんでしたが、今後慣れてきたら便利なテクニックなどご紹介できればと思います！
もし記事に間違いや補足などあれば教えていただけると助かります🙏
最後まで読んでいただきありがとうございました。😊