0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

GitHub公式CLIツールghのコマンドを、使用頻度別にまとめました。リポジトリ作成、Pull Request・Issueのやり取り、GitHub Actionsの確認まで、ブラウザを開かずターミナルだけで完結させたい場面を中心に整理しています。

ghgitコマンドとは別物です。gitはバージョン管理そのものを行う本体のコマンドで、GitHub以外のホスティングサービスでも共通して使えます。ghはGitHubのAPIを叩いて、PR作成・Issue操作・リポジトリ作成・Actions確認などGitHub固有の機能を扱うための公式CLIです。gitコマンドのチートシートはこちらを参照してください。

本記事の見方

  • 🔥:ほぼ毎日使う。反射的に打てるようにしておきたい
  • ⭐:頻度は高くないが、覚えておくと役立つ
  • 📝:知っていると便利な発展コマンド

事前準備・認証

頻度 コマンド 説明
🔥 gh auth login ブラウザ経由でGitHubアカウントにログインし、ghが使えるようにする
gh auth status 現在ログイン中のアカウント・認証状態を確認
📝 gh auth logout ログアウトする
📝 gh auth refresh トークンのスコープ(権限範囲)を追加・更新する
gh auth login                 # 対話形式でログイン(ブラウザ認証を推奨される)
gh auth status                # 今どのアカウントでログインしているか確認

リポジトリ操作(gh repo)

頻度 コマンド 説明
🔥 gh repo clone <owner>/<repo> リポジトリをクローンする(git cloneのURL指定を省略できる)
🔥 gh repo create 新規リポジトリを作成する(対話形式、またはオプション指定)
gh repo view 現在のディレクトリに対応するリポジトリの情報を表示
gh repo view --web 対応するリポジトリのページをブラウザで開く
gh repo fork リポジトリをフォークする
📝 gh repo list <owner> 指定ユーザー・Organizationのリポジトリ一覧を表示
📝 gh repo delete リポジトリを削除する(確認プロンプトあり)
gh repo create my-app --private --source=. --remote=origin --push
# → カレントディレクトリを元に、privateリポジトリを作成し、
#   originとして登録、初回pushまで一気に実行する

Pull Request操作(gh pr)

頻度 コマンド 説明
🔥 gh pr create 現在のブランチからPull Requestを作成する(対話形式)
🔥 gh pr list オープン中のPR一覧を表示
🔥 gh pr view <番号> 指定PRの詳細を表示(番号省略時は現在のブランチに対応するPR)
🔥 gh pr checkout <番号> 指定PRのブランチをローカルにチェックアウトする
gh pr status 自分に関連するPR(自分が作成・レビュー依頼されている等)の状況を一覧表示
gh pr merge <番号> PRをマージする(マージ方式を選べる)
gh pr diff <番号> PRの差分をターミナルで表示
gh pr review <番号> PRに対してレビュー(Approve/Request changes/コメント)を行う
📝 gh pr close <番号> PRをクローズする(マージせずに閉じる)
gh pr create --title "ログイン画面の実装" --body "認証機能を追加しました" --base main
gh pr merge 42 --squash --delete-branch   # squashマージし、マージ後にブランチも削除

Issue操作(gh issue)

頻度 コマンド 説明
🔥 gh issue create 新規Issueを作成する(対話形式)
🔥 gh issue list オープン中のIssue一覧を表示
gh issue view <番号> 指定Issueの詳細を表示
gh issue close <番号> Issueをクローズする
gh issue comment <番号> Issueにコメントを追加する
📝 gh issue list --assignee @me 自分にアサインされているIssueだけを絞り込み表示
gh issue create --title "ログインボタンが反応しない" --body "iPhone Safariで再現" --label bug
gh issue list --label bug --state open

GitHub Actions操作(gh workflow / gh run)

頻度 コマンド 説明
gh run list ワークフロー(GitHub Actions)の実行履歴一覧を表示
gh run view <ID> 指定した実行の詳細・ログを表示
gh run watch 実行中のワークフローの進行状況をリアルタイムで表示
📝 gh workflow list リポジトリに登録されているワークフロー一覧を表示
📝 gh workflow run <ワークフロー名> ワークフローを手動でトリガー実行する(workflow_dispatch対応時)
📝 gh run rerun <ID> 失敗した実行を再実行する
gh run list --limit 5           # 直近5件の実行結果を確認
gh run watch                    # 今動いているワークフローをリアルタイムで見守る

その他よく使うコマンド

頻度 コマンド 説明
gh browse 現在のリポジトリのページをブラウザで開く
gh api <エンドポイント> GitHub REST/GraphQL APIを直接叩く(認証済みトークンが自動で使われる)
gh gist create <ファイル> ファイルをGistとして公開・非公開で作成する
📝 gh release create <タグ名> リリースを作成する(バイナリ等のアセット添付も可能)
📝 gh secret set <名前> リポジトリのActions用シークレットを設定する
📝 gh alias set <名前> '<コマンド>' よく使うコマンドの組み合わせにエイリアスを設定する
gh api repos/itstar-lab/recipe-app/actions/runners/registration-token -X POST
# → GitHub Actionsセルフホストランナーの登録トークンをAPI経由で取得する例

gh browse                      # 今いるリポジトリのGitHubページを開く
gh alias set co 'pr checkout'  # `gh co 42` で `gh pr checkout 42` と同じ動作にする

gh apiで任意のAPIを叩く例

ghのサブコマンドとして用意されていない操作でも、gh apiを使えばGitHub REST APIを直接呼び出せます。認証トークンの管理をgh側に任せられるため、curlで自前にヘッダーを組み立てるより手軽です。

gh api user                                  # 自分自身のユーザー情報を取得
gh api repos/itstar-lab/recipe-app           # 特定リポジトリの情報を取得
gh api repos/itstar-lab/recipe-app/issues -X GET -f state=open   # クエリパラメータ付きで取得

まとめ:迷ったときの基本フロー

gh auth status                     # 1. ログイン状態を確認
gh repo view                       # 2. 今のリポジトリ情報を確認
gh pr create                       # 3. PRを作成
gh pr status                       # 4. 自分のPR状況を確認
gh pr merge <番号> --squash        # 5. マージ

コマンド・サブコマンドとも--helpを付けると詳細な使い方が確認できます(gh pr create --help等)。迷ったら--helpが最も確実です。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?