ダッシュで奪取

ゲーム、読書、人生

【GitHub】GitHub-CLIを使ってみる

リポジトリを作る際に、ブラウザとコンソール行ったり来たりするのが面倒になってきたので何かないかな……と思っていたところ、公式の CLI ツール があったので使ってみました。

github.com

環境

目次

  1. インストール
  2. ログイン
  3. リポジトリ作成
  4. issue
  5. p-r
  6. スクリプトを書いた
  7. 参考URL
  8. おわりに

1. インストール

Homebrew でインストールします。

$ brew install gh

2. ログイン

$ gh auth login

# 通常アカウントなのでGitHub.comを選択
? What account do you want to log into?  [Use arrows to move, type to filter]
> GitHub.com
  GitHub Enterprise Server

# お好みで選択
? What is your preferred protocol for Git operations?  [Use arrows to move, type to filter]
> HTTPS
  SSH

# yes
Authenticate Git with your GitHub credentials? Yes

# 簡単かなと思ったので、ブラウザで認証を選択
? How would you like to authenticate GitHub CLI?  [Use arrows to move, type to filter]

> Login with a web browser
  Paste an authentication token

# ブラウザでGitHubにログインすると、認証コード入力を求められる
# ここに表示された認証コードを、ブラウザの入力欄へ
! First copy your one-time code: XXXX-XXXX

Press Enter to open github.com in your browser...

3. リポジトリ作成

これがやりたかったです!

# README作成してから、first commitまで
$ mkdir github-cli-test
$ cd github-cli-test/
$ git init
$ touch README.md
$ echo '# github-cli-test' > README.md
$ git add .
$ git commit -m ':tada: first commit'
$ git branch -M main

# リポジトリ作成〜最初のpush
$ gh repo create github-cli-test --description ':octocat: GitHub CLIのテスト' --public
$ git remote add origin https://github.com/kyoruni/github-cli-test.git
$ git push -u origin main

4. issue

private リポジトリの issue を個人的なメモ帳として使っているので(!?)、コンソールから issue をサクサク作れるのはうれしいです。

今回は試しませんでしたが、issue にラベルを設定したりもできるみたいです。

# 作成
$ gh issue create --title 'テスト' --body 'これはテストです'
$ gh issue create --title 'hoge' --body 'fuga'

# 確認
$ gh issue list

Showing 2 of 2 open issues in kyoruni/github-cli-test

#2  hoge     about 1 minute ago
#1  テスト    about 1 minute ago

# コメント
$ gh issue comment 1 --body 'コメントのテストです'

5. p-r

# p-r用のブランチ作って、適当に変更 -> push
$ git checkout -b pr-test
$ echo '## テスト' >> README.md
$ git add .
$ git commit -m '#1 :pencil: README修正'
$ git push origin HEAD

# p-rを作成してみる
$ gh pr create --title 'p-rのテスト' --body 'これはテストです'

# マージしてみる
$ gh pr merge 3

? What merge method would you like to use? Create a merge commit
? Delete the branch locally and on GitHub? Yes
? What's next? Submit

# issueを閉じる
$ gh issue close 1

6. スクリプトを書いた

ぽちっと叩いたらリポジトリ作るときの一連の流れができるようにしました。

このまま使うと kyoruni アカウントに push しようとしたり、kyoruniname とかいう謎エイリアスが実行されてしまうので適宜修正が必要です。

7. 参考URL

8. おわりに

今回の作業は以下で行いました。

github.com

にほんブログ村 IT技術ブログ IT技術メモへ