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 で Issue 作成から PR マージまでターミナルで完結させる

0
Posted at

GitHub CLI(gh コマンド)を使うと、Issue作成、ブランチ、PR、マージの流れをターミナルだけで完結できます。ブラウザへの切り替えが不要になり、開発中の集中が途切れません。

gitとghの役割

gitはローカルのバージョン管理、ghはGitHub上のリソース操作を担当します。ghgitの代替ではなく補完するツールで、判断基準はローカル操作はgit、GitHub操作はghです。

観点 git gh
提供元 Git GitHub
役割 ローカルのバージョン管理 GitHub 上のリソース操作
主な操作 commit, branch, merge PR, Issue, リポジトリ管理

セットアップ

brew install gh
gh auth login

認証はブラウザ経由のワンタイムコード方式です。gh auth status で認証状態を確認できます。

Windows の場合は winget install --id GitHub.cli、Linux の場合は GitHub CLI公式インストール手順 を参照してください。

Issue、PR、マージの流れ

Issue 作成、ブランチ、コミット

# Issue 作成(gh)
gh issue create --title "検索機能を追加する" --label enhancement --assignee @me

# ブランチ作成・コミット・プッシュ(git)
git checkout -b feature/issue-10-search
git add .
git commit -m "検索機能を実装 (#10)"
git push -u origin feature/issue-10-search

コミットメッセージに #10 を入れると、GitHub 上で Issue とコミットが自動リンクされます。

PR 作成、マージ

# PR 作成(本文に closes #10 で Issue を自動クローズ)
gh pr create --title "検索機能を追加" --body "closes #10"

# マージ(squash + ブランチ削除)
gh pr merge --squash --delete-branch

--draftを付けると下書きPRを作成でき、gh pr readyでレビュー可能状態に切り替えられます。--squashは複数コミットを1つにまとめるので、mainの履歴がきれいに保たれます。

よく使う 4 つのコマンド

コマンド 用途
gh browse ブラウザでリポジトリを開く gh browse src/index.ts
gh status 全リポジトリの通知を一覧表示 gh status
gh pr checkout 他人の PR をローカルに取得 gh pr checkout 15
gh api GitHub API を直接実行 gh api repos/owner/repo --jq '.stargazers_count'

gh apiは認証が自動処理されるので、トークンを手動で管理する必要がありません。--jqでJSONから必要なフィールドだけを抽出できます。

まとめ

  • ローカル操作はgit、GitHub操作はghで使い分けます
  • closes #10によるIssue自動クローズと--squash --delete-branchで、マージ後の後片付けも自動化できます
  • gh pr creategh pr mergeだけでも、ブラウザへの切り替えが大幅に減ります

この記事の詳細版はZennで公開しています: GitHub CLIでIssueからPRマージまで完結させる実践ガイド

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?