GitHub CLI を使って今年の取り組みをふりかえってみる
この記事は マイナビ Advent Calendar 2020 の25日目の記事です.
昨日はH40831の【JSの開発効率】爆速で快適に開発できる「debugger」を、多くの人が知らない説【上げませんか?】 でした.普通に知らなかったので,チェックしてキャッチアップしていきます!
さて,この時期になると今年のふりかえりをしたくなるものですが,その時にメインのリポジトリで今年一年で GitHub どんな活動をしたのかをふりかえる時に, ↓にあるような今まで私は GitHub の検索機能を使っていました.
そんな中 GitHub が公式に GitHub CLI をリリースし,コマンドライン上で Issue からリリースまで、GitHub 上のワークフローのすべてが操作できるようになったようです.
そのため,今回は GitHub CLI を実際に使ってみたことについてまとめようと思います.
使い方
こちらのページにダウンロード方法が書いています. Mac の場合は homebrew, Windows の場合は Chocolatey の他にもインストーラーがあるようです.
❯ brew install gh
簡単にインストールできました.
❯ gh --version gh version 1.4.0 (2020-12-15) https://github.com/cli/cli/releases/latest
GitHub CLI を使うにはまずは GitHub へログインする必要があります.
下記のようにgh auth login
をするか,何かしらのコマンドを実行するとログインが求められるのでログインしましょう.
ログイン方法をブラウザか,token かを求められます.
試しにブラウザで試してみましょう.
❯ gh auth login ? What account do you want to log into? GitHub.com - Logging into github.com ? How would you like to authenticate? Login with a web browser ! First copy your one-time code: ☓☓☓☓-☓☓☓☓ - Press Enter to open github.com in your browser... ✓ Authentication complete. Press Enter to continue...
PC で設定しているデフォルトのブラウザが起動するのでそこに発行された「one-time code」をコピペしログインを進めます.
こんな画面が表示されます.
数秒待ってコマンドラインを確認してみると git の プロトコル を SSH か HTTPS を求められるので好きな方を選択します. 私は SSH を選択しました.
? Choose default git protocol SSH - gh config set -h github.com git_protocol ssh ✓ Configured git protocol ✓ Logged in as bake0937
リポジトリの プルリクエスト のリストを取得してみる.
ログインもできたので早速やってみましょう,
過去に作ったリポジトリで試してみます. まずは ローカルにあるリポジトリに移動します.
その後にgh pr list
を実行します.
するとこんな感じでデフォルトのステータスが open の プルリクエスト を取得することができます
❯ cd bake0937/idi ❯ gh pr list Showing 1 of 1 open pull request in bake0937/idi #100 userモデルのspecを追加 add-user_model-spec
Close も含めるには -s all
が必要です.
すると,こんな感じで沢山でてきました. 件数のデフォルトは30です,
❯ gh pr list -s all Showing 30 of 96 pull requests in bake0937/idi that match your search #100 userモデルのspecを追加 add-user_model-spec #99 RSpecを導入 add-rspec #98 Rails5 へアップデート update-rails5 #97 Add scss_lint to gem 20170331_0134_add_gem_scss_lint #96 Change README.rdoc to README.md 20170220_1123_change_readme #95 Update README.rdoc 20170220_1114_update_readme #92 Fix to small font size 20170219_1755_fix_font_size_of_slide's_title #91 20170219 1642 fix comment 20170219_1642_fix_comment #90 New Relic APMの導入 Connect to #89 Close #89 20161107_1051_add_new_relic_apm #88 gem rb-readlineの追加 Connect to #87 Close #87 20161107_1030_add_gem_rb-readline #86 記事の確認画面のソースを削除 20161024_1026_remove_article_confirm #85 refactor_articles_controller 20161014_2117_refactor_articles_controller #84 fix n+1 20161013_1221_fix_n+1 #83 add gem bullet 20161013_1016_add_gem_bullet #82 Refactoring articles_controller 201610130845_devlopment_refactoring_articles_controller #81 Introduction of the automatic test 201610111225_development_setup_rspec #80 201609131915 development add ogp logo 201609131915_development_add_ogp_logo #79 201609122322 development add ogp 201609122322_development_add_ogp #78 20160907 development fix design of registration new 20160907_development_fix_design_of_registration_new #77 201608312353 development fix directory of template 201608312353_development_fix_directory_of_template #76 201608312139 development fix design of profiles show 201608312139_development_fix_design_of_profiles_show #75 201608312046 development fix design of home index 201608312046_development_fix_design_of_home_index #74 201608311717 development fix registrations new 201608311717_development_fix_registrations_new #73 [fix] fix modifications so that it is displayed with a smartphone 201608311654_development_fix_sessions_new #72 [fix] fix position of paging of profile show 201608311641_development_fix_paging #71 [fix] fix url of fontawesome 201608261226_development_fix_fontawesome #70 [add] add footerFixed to assets/javascripts 201608261205_development_add_footerFixed #69 201608261156 development fix notation of sign in sign up sign out 201608261156_development_fix_notation_of_sign_in_sign_up_sign_out #68 201608261143 development root change sessions new to registrati... 201608261143_development_root_change_sessions_new_to_registrati... #67 201608261124 development fix design of sessions new 201608261124_development_fix_design_of_sessions_new
使ってみての感想
シンプルで使いやすかったです!本当は「2020年1月1日から2020年12月25日で Author が自分」という条件で取得したかったのですが.option が現状無いようなので,今後に期待しようと思います!
今年のふりかえり
大晦日までにゆっくり書こうと思います
まとめと所感
GitHub CLI を使ってみたことについてまとめてみました. GitHub CLI は Issue やプルリクエストの他にも様々なリポジトリの操作ができるのでもっと使いこなせられればブラウザを使わずにシュシュっと作業が効率的になりそうですね.
今年もあっという間の一年間でしたが,来年はもっと新しい技術と新しい仕組みにチャレンジできる一年になれるよう頑張っていこうと思います!!!