LoginSignup
11
7

More than 3 years have passed since last update.

Github CLI使ってみた[コマンド一覧]

Last updated at Posted at 2020-02-17

前書き

最近出てきたCLIでGithubが扱えるソフトウェアGithub CLIを使ってみました。

いままでたくさんCLIツールはでていたのですが
https://qiita.com/ryuichi1208/items/45fd2cdd865097a7ad3d
公式出のツールは2つめ?っぽいです。(hubが最初?)

この記事ではプルリクエストをPRと表記するときがあります
コマンド→解説の構成です

この記事でやっていること

  • Github CLIのコマンドの挙動網羅

この記事でやらないこと

  • GithubCLIのインストール法の解説(公式に書いてあります)
  • 既存のCLIソフトウェア(hub等)との比較

記事本体

GithubCLIで現在できること

  • PRの作成
  • PRの一覧表示
  • PRのステータス表示
  • PRのページをブラウザで開く
  • PR対象ブランチへのチェックアウト
  • issueの作成
  • issueの一覧表示
  • issueのステータス表示
  • issueのページをブラウザで開く

今回全部試してみたので書いていきます。

プルリクエストの操作

PRの作成

Github CLIのプルリクエスト関連操作をまとめています

$gh pr create
> Creating pull request for ブランチ名 into [Base Branch名] in ユーザー名/リポジトリ名

現在のGitブランチを認識し、そのブランチからBase branch(github側で設定)へのPRとして作成されます

$gh pr create

Creating pull request for ブランチ名 into [Base Branch名] in ユーザー名/リポジトリ名

? Title READMEの開発項目のissue移行に際してのREADME修正
? Body [(e) to launch nano, enter to skip]

eキーを押すとnanoエディタが開き、本文部分のMarkdown記法での入力が可能です。
(ちなみにnanoエディタは書き終わったらCtrl + Oで保存→Enter(本来はここでファイル名を入力.Github CLIは勝手にやるので触らないのが吉?)→Ctrl + Xで閉じる)です
image.png
2019/02/18追記
PRのテンプレート(PULL_REQUEST_TEMPLATE.md)とかあると自動で読み込んでくれます!

$ gh pr create

Creating pull request for ブランチ名 into [Base Branch名] in ユーザー名/リポジトリ名

? Title fff
? Body <Received>
? What's next?  [Use arrows to move, type to filter]
> Preview in browser
  Submit
  Cancel

Preview in blowserを選ぶと、Submit前のPRページに飛んでプレビューできます(ラベルとかレビュワーはここで設定する)

Submitはプレビューせずにそのまま送信される

PRの一覧表示

gh pr list

で可能。現在出ているPRを、そのブランチと一緒にリスティングされる

PRのステータス表示

gh pr status

/*以下出力*/
Relevant pull requests in YaCpotato/project_manager

Current branch
  #17  READMEの開発項目の移行に際してのRE... [update/readme]

Created by you
  #17  READMEの開発項目の移行に際してのRE... [update/readme]

Requesting a code review from you
  You have no pull requests to review

現在のブランチと、PRが出ていたらそれも出してくれる。あとは
* 他ブランチの自分が作ったPR
* コードレビューをリクエストされたPR
の3種類が見れる

PRのページをブラウザで開く

gh pr view [PR番号(#12みたいな数字)]
gh pr view #17

このコマンドを打つと対象PRをブラウザで開いてくれる

PR対象ブランチへのチェックアウト

gh pr checkout [PR番号(#12みたいな数字)]
gh pr checkout #17

そのPRが出されているブランチにチェックアウトする。

issueの操作

Github CLIのissue関連操作をまとめています

issueの作成

gh issue create
/*以下出力*/
Creating issue in YaCpotato/project_manager

? Title カレンダーインポートモーダルの実装
? Body <Received>
? What's next?  [Use arrows to move, type to filter]
  Preview in browser
> Submit
  Cancel

ほぼPRのcreateコマンドと一緒

issueの一覧表示

gh issue list
/*以下出力*/
Issues for ユーザー名/リポジトリ名

#16  ガントチャートのレイアウトをガ?...                                
#15  イメージ画像をアップロードでき?...                                
#14  カレンダーインポートモーダルの?...                                
#13  共有カレンダーテンプレートの実装                                   
#12  ログイン済みGoogleアカウントから?...                            

こちらは特にPRのような種類わけはない模様

issueのステータス表示

gh issue status
/*以下出力*/
Relevant issues in ユーザー名/リポジトリ名

Issues assigned to you
  #15 イメージ画像をアップロードできるようにする about 40 minutes ago

Issues mentioning you
  #16 ガントチャートのレイアウトをガチる about 41 minutes ago

Issues opened by you
  #15 イメージ画像をアップロードできるようにする about 40 minutes ago
  #16 ガントチャートのレイアウトをガチる about 41 minutes ago
  #14 カレンダーインポートモーダルの実装 about 53 minutes ago
  #13 共有カレンダーテンプレートの実装 about 57 minutes ago
  #12 ログイン済みGoogleアカウントからのカレンダー取得 about 59 minutes ago
  • アサインされているissue
  • メンションされているissue
  • 自分が開いたissue の3種類に分かれてリスト表示されます。

issueのページをブラウザで開く

gh issue view [issue番号]

PR版とほぼ同じ。対象issueをブラウザで開く

最後に

個人的に便利!と思った点は
gh pr checkout でPRが出されているブランチにチェックアウトできること
PRページからブランチ名コピーしてチェックアウトするのめんどくさいので
gh pr statusもしくは listからのgh pr view PR番号
上記とPRのレビュー時にすぐにブラウザに飛べる

当方Github用のCLIは初めてだったので既存のものと比較ができなくて残念です。この記事がどなたかの比較の際の参考になれば幸いです。

終わります。
よかったらTwitterフォローしてください

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7