MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - GitHub CLIのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - GitHub CLI
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == GitHub CLI (gh) は、GitHubの機能をコマンドラインから直接操作できる公式ツールである。<br> <br> プルリクエストやIssueの管理、リポジトリ操作等、GitHubの主要機能をターミナルから実行できる。<br> Go言語で記述されており、Windows、MacOS、Linuxの主要プラットフォームで動作する。<br> <br> 主要な仕様を以下に示す。<br> * 開発言語 *: Go * ライセンス *: MIT * サポート対象OS *: Windows、MacOS、Linux * サポート対象GitHub *: GitHub.com、GitHub Enterprise Cloud、GitHub Enterprise Server 2.20以上 <br> 主要機能は以下の通りである。<br> * PR / Issue管理 *: プルリクエストおよびIssueの作成、表示、レビュー操作をコマンドラインから実行できる * リポジトリ操作 *: リポジトリのクローン、フォーク、閲覧等の操作を実行できる * GitHub Enterprise対応 *: GitHub Enterprise CloudおよびGitHub Enterprise Server 2.20以上に対応している * Copilotコードレビュー統合 *: GitHub Copilotによるコードレビュー機能と統合されている <br><br> == Windows == Windows向けのインストール方法として、WinGet、MSIインストーラ、Chocolatey、Scoopの4種類がある。<br> 公式が推奨する方法はWinGetを使用したインストールである。<br> <br> ==== WinGet ==== WinGetはMicrosoftが提供する公式パッケージマネージャーであり、最も推奨されるインストール方法である。<br> <br> <syntaxhighlight lang="powershell"> winget install --id GitHub.cli # アップグレード winget upgrade --id GitHub.cli </syntaxhighlight> <br> インストール後は、Windows Terminalで新しいウィンドウを開く必要がある。<br> タブの新規作成ではなく、新しいウィンドウを開くことにより、環境変数が正しく反映される。<br> <br> ==== MSIインストーラ ==== GitHubのリリースページから、MSIインストーラをダウンロードしてインストールすることができる。<br> <br> 対応アーキテクチャは以下の通りである。<br> * x86 (32ビット) * amd64 (64ビット) * arm64 (ARM 64ビット) <br> インストーラは以下に示すURLから入手できる。<br> * [https://github.com/cli/cli/releases/latest GitHub CLI リリースページ] <br> ==== Chocolatey ==== Chocolateyはコミュニティが管理するパッケージマネージャーである。<br> <u>GitHub CLIチームが保守するものではないことに注意が必要である。</u><br> <br> <syntaxhighlight lang="powershell"> # インストール choco install gh # アップグレード choco upgrade gh </syntaxhighlight> <br> ==== Scoop ==== Scoopはコミュニティが管理するパッケージマネージャーである。<br> <u>GitHub CLIチームが保守するものではないことに注意が必要である。</u><br> <br> <syntaxhighlight lang="powershell"> # インストール scoop install gh # アップグレード scoop update gh </syntaxhighlight> <br><br> == RHEL / SUSE == Linux向けのインストール方法では、リポジトリを追加してインストールする方法、バイナリを直接ダウンロードする方法、ソースコードからビルドする方法の3種類がある。<br> <br> ==== リポジトリを追加してインストール ==== 公式リポジトリを追加してパッケージマネージャーからインストールする方法が最も推奨される。<br> <br> ===== RHEL ===== # インストール sudo dnf install dnf5-plugins sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo sudo dnf install gh --repo gh-cli # アップグレード sudo dnf upgrade gh <br> ===== SUSE ===== # インストール sudo zypper addrepo https://cli.github.com/packages/rpm/gh-cli.repo sudo zypper ref sudo zypper install gh # アップグレード sudo zypper update gh <br> ==== バイナリをダウンロードしてインストール ==== パッケージマネージャーを使用せずに、バイナリを直接ダウンロードしてインストールすることができる。<br> <br> 対応アーキテクチャは以下の通りである。<br> * x86 (x86) *: <u>gh_*_linux_386.tar.gz</u> * amd64 (x64) *: <u>gh_*_linux_amd64.tar.gz</u> * arm64 (ARM 64ビット) *: <u>gh_*_linux_arm64.tar.gz</u> * armv6 (ARM 32ビット) *: <u>gh_*_linux_armv6.tar.gz</u> <br> # GitHub CLIのGitHubにアクセスして、バイナリをダウンロードする。 # ダウンロードしたファイルを解凍する。 #: <pre>tar xf gh_x.x.x_linux_amd64.tar.gz</pre> # 必要ならば、任意のディレクトリにコピーする。 #: <pre>cp -r gh_x.x.x_linux_amd64/* <任意のインストールディレクトリ></pre> # 必要ならば、~/.profileファイル等に環境変数を設定する。 #: <syntaxhighlight lang="sh"> export PATH="/<GitHub CLIのインストールディレクトリ>/bin:$PATH" export MANPATH="/<GitHub CLIのインストールディレクトリ>/share/man:$MANPATH" </syntaxhighlight> <br> その他のバージョンやアーキテクチャのバイナリは、以下のページから入手できる。<br> * [https://github.com/cli/cli/releases GitHub CLI リリースページ] <br> ==== ソースコードからビルドしてインストール ==== ソースコードからビルドしてインストールすることができる。<br> <br> <u>前提条件として、Go 1.25以上のインストールが必要である。</u><br> <br> # リポジトリをクローンする。 #: <syntaxhighlight lang="text"> git clone https://github.com/cli/cli.git gh-cli cd gh-cli </syntaxhighlight> #: <br> # GitHub CLIをビルドおよびインストールする。 #: <pre>make install prefix=/path/to/gh</pre> #: <br> # 必要ならば、~/.profileファイル等に環境変数を設定する。 #: <syntaxhighlight lang="sh"> export PATH="/<GitHub CLIのインストールディレクトリ>/bin:$PATH" export MANPATH="/<GitHub CLIのインストールディレクトリ>/share/man:$MANPATH" </syntaxhighlight> <br><br> == MacOS == MacOS向けのインストール方法として、Homebrew および MacPortsを使用する方法がある。<br> 公式が推奨する方法はHomebrewを使用したインストールである。<br> <br> ==== Homebrew ==== Homebrewを使用したインストールが最も推奨される方法である。<br> <br> # インストール brew install gh # アップグレード brew upgrade gh <br> ==== MacPorts ==== MacPortsはコミュニティが管理するパッケージマネージャーである。<br> GitHub CLIチームが保守するものではないことに注意が必要である。<br> <br> # インストール sudo port install gh # アップグレード sudo port selfupdate && sudo port upgrade gh <br><br> == インストールの確認 == インストール完了後に、バージョンの確認と認証の設定を行う。<br> <br> ==== バージョンの確認 ==== インストールが正常に完了していることを確認する。<br> <br> gh version <br> 正常にインストールされている場合、以下のような出力が表示される。<br> <br> gh version x.x.x (yyyy-MM-dd) <br> ==== 認証の設定 ==== GitHub CLIを使用するには、GitHubアカウントでの認証が必要である。<br> <br> まず、以下に示すコマンドを実行して、インタラクティブなプロンプトに従って認証を設定する。<br> <br> gh auth login <br> プロンプトでは以下の項目を選択する。<br> * 接続先の選択 *: GitHub.com または GitHub Enterprise Server * プロトコルの選択 *: HTTPS または SSH * 認証方法の選択 *: ブラウザ認証 または トークン入力 <br> 認証が完了した後、認証状態を確認する。<br> <br> gh auth status <br><br> == 基本的な使用方法 == GitHub CLIの基本的なコマンド構造は、<code>gh <command> <subcommand> [flags]</code> の形式である。<br> <br> <code>command</code> には、<code>repo</code>、<code>pr</code>、<code>issue</code> 等の操作対象が指定され、<br> <code>subcommand</code> には、<code>create</code>、<code>list</code>、<code>view</code> 等のアクションが指定される。<br> <br> 各コマンドの詳細は、<code>gh <command> --help</code> で確認できる。<br> <br> ==== リポジトリ操作 ==== リポジトリのクローン、作成、フォーク等の操作は <code>gh repo</code> コマンドで実行する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh repo 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh repo clone</code> || リポジトリをクローンする。 |- | <code>gh repo create</code> || 新規リポジトリを作成する。 |- | <code>gh repo fork</code> || リポジトリをフォークする。 |- | <code>gh repo view</code> || リポジトリの情報を表示する。 |- | <code>gh repo sync</code> || フォーク元リポジトリと同期する。 |- | <code>gh repo delete</code> || リポジトリを削除する。 |- | <code>gh repo list</code> || リポジトリの一覧を表示する。 |} </center> <br> 下表に、<code>gh repo create</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh repo create 主なオプション ! オプション !! 説明 |- | <code>--public</code> / <code>--private</code> / <code>--internal</code> || リポジトリの可視性 |- | <code>-c</code> / <code>--clone</code> || 作成後にクローンする。 |- | <code>-d</code> / <code>--description</code> || リポジトリの説明 |- | <code>-g</code> / <code>--gitignore</code> || .gitignoreテンプレートを指定する。 |- | <code>-l</code> / <code>--license</code> || ライセンステンプレートを指定する。 |- | <code>-s</code> / <code>--source</code> || 既存のローカルディレクトリからリポジトリを作成する。 |- | <code>--push</code> || 初期コミットをプッシュする。 |- | <code>-p</code> / <code>--template</code> || テンプレートリポジトリを指定する。 |- | <code>--add-readme</code> || READMEファイルを追加する。 |} </center> <br> 下表に、リポジトリ操作の実行例を示す。<br> <br> # 公開リポジトリを作成してクローン gh repo create my-project --public --clone # 組織のリポジトリを作成 gh repo create my-org/my-project --public # 既存のディレクトリからプライベートリポジトリを作成 gh repo create my-project --private --source=. --remote=upstream # リポジトリをクローン gh repo clone cli/cli # リポジトリをフォークしてクローン gh repo fork cli/cli --clone # フォークを上流と同期 gh repo sync owner/forked-repo # リポジトリの情報をブラウザで表示 gh repo view cli/cli --web # リポジトリを削除 gh repo delete my-org/my-repo --yes <br> ==== プルリクエスト管理 ==== プルリクエストの作成、一覧表示、レビュー、マージ等の操作は <code>gh pr</code> コマンドで実行する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh pr 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh pr create</code> || プルリクエストを作成する。 |- | <code>gh pr list</code> || プルリクエストの一覧を表示する。 |- | <code>gh pr view</code> || プルリクエストの詳細を表示する。 |- | <code>gh pr checkout</code> || プルリクエストのブランチをチェックアウトする。 |- | <code>gh pr review</code> || プルリクエストをレビューする。 |- | <code>gh pr merge</code> || プルリクエストをマージする。 |- | <code>gh pr diff</code> || プルリクエストの差分を表示する。 |- | <code>gh pr close</code> || プルリクエストをクローズする。 |- | <code>gh pr checks</code> || プルリクエストのCIチェック状態を表示する。 |} </center> <br> 下表に、<code>gh pr create</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh pr create 主なオプション ! オプション !! 説明 |- | <code>-t</code> / <code>--title</code> || プルリクエストのタイトル |- | <code>-b</code> / <code>--body</code> || プルリクエストの本文 |- | <code>-F</code> / <code>--body-file</code> || 本文をファイルから読み込む。 |- | <code>-B</code> / <code>--base</code> || マージ先のベースブランチ |- | <code>-H</code> / <code>--head</code> || マージ元のヘッドブランチ |- | <code>-f</code> / <code>--fill</code> || コミットメッセージからタイトルと本文を自動入力する。 |- | <code>-d</code> / <code>--draft</code> || ドラフトとして作成する。 |- | <code>-a</code> / <code>--assignee</code> || アサイン先 (<code>@me</code> で自分を指定) |- | <code>-r</code> / <code>--reviewer</code> || レビュアーを指定する。 |- | <code>-l</code> / <code>--label</code> || ラベルを付与する。 |- | <code>-w</code> / <code>--web</code> || ブラウザで作成画面を開く。 |} </center> <br> 下表に、<code>gh pr merge</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh pr merge 主なオプション ! オプション !! 説明 |- | <code>-m</code> / <code>--merge</code> || マージコミットを作成する。 |- | <code>-s</code> / <code>--squash</code> || スカッシュマージする。 |- | <code>-r</code> / <code>--rebase</code> || リベースマージする。 |- | <code>-d</code> / <code>--delete-branch</code> || マージ後にブランチを削除する。 |- | <code>--auto</code> || CIチェック通過後に自動マージする。 |- | <code>--admin</code> || 管理者権限でマージする。 |} </center> <br> プルリクエスト操作の実行例を以下に示す。<br> <br> # タイトルと本文を指定して作成 gh pr create --title "The bug is fixed" --body "Everything works again" # コミットメッセージから自動入力 gh pr create --fill # レビュアーを指定して作成 gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name # ドラフトとして作成 gh pr create --draft --fill # ベースブランチとヘッドブランチを指定 gh pr create --base develop --head feature-branch # ブラウザで作成 gh pr create --web # 自分がアサインされたPR一覧 gh pr list --assignee @me # ラベルでフィルタ gh pr list --label "needs review" # PRの詳細を表示 gh pr view 123 # PRのブランチをチェックアウト gh pr checkout 353 # 承認レビュー gh pr review 123 --approve --body "LGTM" # 変更要求レビュー gh pr review 123 --request-changes --body "Please fix the tests" # スカッシュマージしてブランチ削除 gh pr merge 123 --squash --delete-branch # CI通過後に自動マージ gh pr merge 123 --auto --squash # 差分を表示 gh pr diff 123 # クローズ gh pr close 123 --comment "Closing in favor of #456" <br> ブランチ作成からマージまでの実践的なワークフロー例を以下に示す。<br> <br> # ブランチを作成してコミット git checkout -b feature/new-feature git add . && git commit -m "Add new feature" # プッシュしてPRを作成 git push -u origin feature/new-feature gh pr create --fill # CIチェックの完了を待機 gh pr checks --wait # レビューして承認 gh pr review --approve --body "Looks good" # スカッシュマージしてブランチ削除 gh pr merge --squash --delete-branch # ローカルを最新化 git checkout main && git pull <br> ==== Issue管理 ==== Issueの作成、一覧表示、クローズ等の操作は <code>gh issue</code> コマンドで実行する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh issue 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh issue create</code> || Issueを作成する。 |- | <code>gh issue list</code> || Issueの一覧を表示する。 |- | <code>gh issue view</code> || Issueの詳細を表示する。 |- | <code>gh issue close</code> || Issueをクローズする。 |- | <code>gh issue reopen</code> || Issueを再オープンする。 |- | <code>gh issue comment</code> || Issueにコメントを追加する。 |- | <code>gh issue edit</code> || Issueを編集する。 |} </center> <br> 下表に、<code>gh issue create</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh issue create 主なオプション ! オプション !! 説明 |- | <code>-t</code> / <code>--title</code> || Issueのタイトル |- | <code>-b</code> / <code>--body</code> || Issueの本文 |- | <code>-F</code> / <code>--body-file</code> || 本文をファイルから読み込む。 |- | <code>-a</code> / <code>--assignee</code> || アサイン先 (<code>@me</code> で自分を指定) |- | <code>-l</code> / <code>--label</code> || ラベルを付与する。 |- | <code>-m</code> / <code>--milestone</code> || マイルストーンを指定する。 |- | <code>-p</code> / <code>--project</code> || プロジェクトを指定する。 |- | <code>-w</code> / <code>--web</code> || ブラウザで作成画面を開く。 |} </center> <br> Issue操作の実行例を以下に示す。<br> <br> # タイトルと本文を指定して作成 gh issue create --title "Bug: login fails" --body "Steps to reproduce..." # ラベルとアサインを指定 gh issue create --label bug --assignee @me # 本文をファイルから読み込み gh issue create --body-file issue-template.md # 自分がアサインされたIssue一覧 gh issue list --assignee @me # ラベルと状態でフィルタ gh issue list --label bug --state all # Issueの詳細を表示 gh issue view 123 # クローズ gh issue close 123 --comment "Fixed in #456" # 再オープン gh issue reopen 123 # コメント追加 gh issue comment 123 --body "I can reproduce this" # 編集 gh issue edit 123 --title "Updated title" --body "Updated body" <br> v2.94.0以降では、Issues 2.0機能が追加された。<br> これは、Issue種別 (issue types)、サブIssue (sub-issues)、ブロック関係 (blocked-by / blocking) の設定が可能である。<br> <br> # Issue種別を指定して作成 gh issue create --type Bug # 親Issueを指定してサブIssueを作成 gh issue create --parent 100 # ブロック元Issueを指定して作成 gh issue create --blocked-by 200 <br> ==== GitHub Actions (ワークフロー) ==== GitHub Actionsのワークフロー実行や管理は <code>gh workflow</code> および <code>gh run</code> コマンドで実行する。<br> <br> 下表に、<code>gh workflow</code> の主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh workflow 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh workflow list</code> || ワークフローの一覧を表示する。 |- | <code>gh workflow view</code> || ワークフローの詳細を表示する。 |- | <code>gh workflow run</code> || ワークフローを実行する。 |- | <code>gh workflow enable</code> || ワークフローを有効化する。 |- | <code>gh workflow disable</code> || ワークフローを無効化する。 |} </center> <br> 下表に、<code>gh run</code> の主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh run 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh run list</code> || 実行一覧を表示する。 |- | <code>gh run view</code> || 実行の詳細を表示する。 |- | <code>gh run watch</code> || 実行の完了を監視する。 |- | <code>gh run rerun</code> || 実行を再実行する。 |- | <code>gh run cancel</code> || 実行をキャンセルする。 |- | <code>gh run download</code> || 実行のアーティファクトをダウンロードする。 |} </center> <br> ワークフロー操作の実行例を以下に示す。<br> <br> # ワークフロー一覧 gh workflow list # ワークフローを実行 gh workflow run deploy.yml # ブランチを指定して実行 gh workflow run deploy.yml --ref develop # 入力パラメータを指定して実行 gh workflow run deploy.yml -f environment=production # ワークフローの詳細を表示 gh workflow view deploy.yml # 直近5件の実行一覧 gh run list --limit 5 # 実行の詳細を表示 gh run view 123456 # ログを表示 gh run view 123456 --log # 実行の完了を監視 gh run watch 123456 # 失敗したジョブを再実行 gh run rerun 123456 --failed # アーティファクトをダウンロード gh run download 123456 <br> ==== リリース管理 ==== リリースの作成、ダウンロード、アセットのアップロード等の操作は <code>gh release</code> コマンドで実行する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh release 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh release create</code> || リリースを作成する。 |- | <code>gh release list</code> || リリースの一覧を表示する。 |- | <code>gh release view</code> || リリースの詳細を表示する。 |- | <code>gh release download</code> || リリースアセットをダウンロードする。 |- | <code>gh release upload</code> || リリースアセットをアップロードする。 |- | <code>gh release delete</code> || リリースを削除する。 |} </center> <br> 下表に、<code>gh release create</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh release create 主なオプション ! オプション !! 説明 |- | <code>-t</code> / <code>--title</code> || リリースのタイトル |- | <code>-n</code> / <code>--notes</code> || リリースノート |- | <code>-F</code> / <code>--notes-file</code> || リリースノートをファイルから読み込む。 |- | <code>--generate-notes</code> || リリースノートを自動生成する。 |- | <code>-d</code> / <code>--draft</code> || ドラフトとして作成する。 |- | <code>-p</code> / <code>--prerelease</code> || プレリリースとして作成する。 |- | <code>--target</code> || ターゲットコミットを指定する。 |- | <code>--verify-tag</code> || タグの存在を確認する。 |} </center> <br> リリース操作の実行例を以下に示す。<br> <br> # リリースノートを指定して作成 gh release create v1.2.3 --notes "bugfix release" # リリースノートを自動生成 gh release create v1.2.3 --generate-notes # リリースノートをファイルから読み込み gh release create v1.2.3 -F release-notes.md # アセットを添付して作成 gh release create v1.2.3 ./dist/*.tgz # ドラフトとして作成 gh release create v1.2.3 --draft --notes "Work in progress" # リリース一覧 gh release list --limit 5 # リリースの詳細を表示 gh release view v1.2.3 # アセットをダウンロード gh release download v1.2.3 # ダウンロードディレクトリを指定 gh release download v1.2.3 -D ./downloads # パターンでフィルタしてダウンロード gh release download v1.2.3 -p '*.tgz' # アセットをアップロード gh release upload v1.2.3 ./build/*.zip <br> v2.96.0以降では、公開リポジトリのリリースアセットダウンロードが認証なしで可能である。<br> <br> ==== Gist管理 ==== Gistの作成、一覧表示、クローン等の操作は <code>gh gist</code> コマンドで実行する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh gist 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh gist create</code> || Gistを作成する。 |- | <code>gh gist list</code> || Gistの一覧を表示する。 |- | <code>gh gist view</code> || Gistの内容を表示する。 |- | <code>gh gist clone</code> || Gistをクローンする。 |- | <code>gh gist edit</code> || Gistを編集する。 |- | <code>gh gist delete</code> || Gistを削除する。 |} </center> <br> 下表に、<code>gh gist create</code> の主なオプションを示す。<br> <br> <center> {| class="wikitable" |+ gh gist create 主なオプション ! オプション !! 説明 |- | <code>-d</code> / <code>--desc</code> || Gistの説明 |- | <code>-f</code> / <code>--filename</code> || ファイル名を指定する。 |- | <code>-p</code> / <code>--public</code> || 公開Gistとして作成する。<br>デフォルトは、<u>secret</u> |- | <code>-w</code> / <code>--web</code> || ブラウザで作成画面を開く。 |} </center> <br> Gist操作の実行例を以下に示す。<br> <br> # 公開Gistを作成 gh gist create --public hello.py # 説明を付けて作成 gh gist create hello.py -d "my Hello-World program" # 複数ファイルを指定して作成 gh gist create hello.py world.py cool.txt # 標準入力から作成 echo "print('hello')" | gh gist create - # Gist一覧 gh gist list # Gistの内容を表示 gh gist view <gist-id> # Gistをクローン gh gist clone <gist-id> <br><br> == 設定とカスタマイズ == ==== 設定ファイル ==== GitHub CLIの設定は <code>gh config</code> コマンドで管理する。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh config 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh config get</code> || 設定値を取得する。 |- | <code>gh config set</code> || 設定値を変更する。 |- | <code>gh config list</code> || 全ての設定値を表示する。 |- | <code>gh config clear-cache</code> || キャッシュをクリアする。 |} </center> <br> 設定ファイルの配置場所は以下の通りである。<br> <br> <center> {| class="wikitable" |+ 設定ファイルの配置場所 ! プラットフォーム !! 配置場所 |- | Linux / MacOS || <u>$XDG_CONFIG_HOME/gh</u> または <u>$HOME/.config/gh</u> |- | Windows || <u>%AppData%/GitHub CLI</u> |- | 環境変数で指定 || 環境変数 <code>GH_CONFIG_DIR</code> で任意のディレクトリを指定できる。 |} </center> <br> 下表に、主な設定項目を示す。<br> <br> <center> {| class="wikitable" |+ 主な設定項目 ! 設定項目 !! 説明 |- | <code>git_protocol</code> || Gitプロトコル<br><code>https</code> または <code>ssh</code>、デフォルト: <code>https</code> |- | <code>editor</code> || テキストエディタ |- | <code>prompt</code> || インタラクティブプロンプト<br><code>enabled</code> または <code>disabled</code> |- | <code>pager</code> || ページャープログラム |- | <code>browser</code> || ブラウザプログラム |- | <code>telemetry</code> || テレメトリ<br><code>enabled</code> または <code>disabled</code> |} </center> <br> 設定操作の実行例を以下に示す。<br> <br> # エディタをVimに設定 gh config set editor vim # GitプロトコルをSSHに変更 gh config set git_protocol ssh # 設定値を取得 gh config get editor # 全設定を表示 gh config list # テレメトリを無効化 gh config set telemetry disabled <br> ==== エイリアス ==== よく使用するコマンドの短縮形を <code>gh alias</code> コマンドで登録できる。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh alias 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh alias set</code> || エイリアスを登録する。 |- | <code>gh alias list</code> || エイリアスの一覧を表示する。 |- | <code>gh alias delete</code> || エイリアスを削除する。 |- | <code>gh alias import</code> || エイリアスをインポートする。 |} </center> <br> エイリアスでは、位置プレースホルダ (<code>$1</code>、<code>$2</code>) を使用して引数を渡すことができる。<br> また、先頭に <code>!</code> を付加することにより、シェルコマンドをエイリアスとして登録できる。<br> <br> エイリアスの登録例を以下に示す。<br> <br> # pr viewの短縮形 gh alias set pv 'pr view' # gh pv -w 123 = gh pr view -w 123 # バグIssueの一覧 gh alias set bugs 'issue list --label=bugs' # 自分のアサインIssue一覧 gh alias set homework 'issue list --assignee @me' # 引数を使用したエイリアス gh alias set epicsBy 'issue list --author="$1" --label="epic"' # gh epicsBy vilmibm # シェルコマンドのエイリアス gh alias set --shell igrep 'gh issue list --label="$1" | grep "$2"' # エイリアス一覧 gh alias list # エイリアス削除 gh alias delete bugs <br> ==== 拡張機能 ==== サードパーティ製の拡張機能を <code>gh extension</code> (省略形: <code>gh ext</code>) コマンドでインストールできる。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh extension 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh extension install</code> || 拡張機能をインストールする。 |- | <code>gh extension list</code> || インストール済みの拡張機能を表示する。 |- | <code>gh extension search</code> || 拡張機能を検索する。 |- | <code>gh extension upgrade</code> || 拡張機能をアップグレードする。 |- | <code>gh extension remove</code> || 拡張機能を削除する。 |- | <code>gh extension create</code> || 新規拡張機能を作成する。 |} </center> <br> <u>拡張機能のリポジトリ名は <code>gh-</code> で始まる必要がある。</u><br> v2.90.0以降では、公開リポジトリの拡張機能インストールが認証なしで可能である。<br> <br> 拡張機能の操作例を以下に示す。<br> <br> # 拡張機能をインストール gh extension install dlvhdr/gh-dash # インストール済み一覧 gh extension list # 拡張機能を検索 gh extension search # 全ての拡張機能をアップグレード gh extension upgrade --all # 拡張機能を削除 gh extension remove gh-dash # 新規拡張機能を作成 gh extension create my-extension <br> コミュニティ製の拡張機能は以下のページから検索できる。<br> * [https://github.com/topics/gh-extension gh-extensionトピック - GitHub] <br><br> == GitHub Copilot統合 == ==== gh copilot ==== <code>gh copilot</code> コマンドを使用すると、GitHub CopilotのAIアシスタント機能をターミナルから利用できる。<br> <br> <code>gh copilot</code> の実行例を以下に示す。<br> <br> # インタラクティブモードで起動 gh copilot # プロンプトを指定して実行 gh copilot -p "Summarize this week's commits" --allow-tool 'shell(git)' # 設定を削除 gh copilot --remove <br> 詳細を知りたい場合は、以下に示すURLを参照すること。<br> * [https://gh.io/copilot-cli GitHub Copilot in the CLI] <br> ==== gh skill (v2.90.0以降) ==== <code>gh skill</code> コマンドは、AIコーディングエージェント用のスキルを管理する機能である。<br> <br> 下表に、主なサブコマンドを示す。<br> <br> <center> {| class="wikitable" |+ gh skill 主なサブコマンド ! サブコマンド !! 説明 |- | <code>gh skill install</code> || スキルをインストールする。 |- | <code>gh skill list</code> || インストール済みのスキルを表示する。 |- | <code>gh skill search</code> || スキルを検索する。 |- | <code>gh skill update</code> || スキルを更新する。 |- | <code>gh skill publish</code> || スキルを公開する。 |- | <code>gh skill preview</code> || スキルのプレビューを表示する。 |} </center> <br> 対応するAIエージェントは以下の通りである。<br> * GitHub Copilot * Claude Code * Cursor * Codex * Gemini CLI * Antigravity <br> スキル操作の実行例を以下に示す。<br> <br> # スキルをインストール gh skill install cli/cli gh --scope user # インストール済みスキル一覧 gh skill list # スキルを検索 gh skill search <br><br> == トラブルシューティング == ==== 認証エラー ==== 認証エラーが発生した場合は、認証状態を確認して再認証を行う。<br> <br> # 認証状態を確認 gh auth status # 再認証 gh auth login # スコープを追加してトークンを更新 gh auth refresh -s project # ホストと複数スコープを指定して更新 gh auth refresh -h github.com -s repo,read:org,workflow,gist <br> CIや自動化環境では、環境変数でトークンを指定できる。<br> <br> <syntaxhighlight lang="sh"> # トークンを環境変数に設定 export GH_TOKEN=ghp_xxxxxxxx # Enterprise環境の場合 export GH_ENTERPRISE_TOKEN=ghp_xxxxxxxx </syntaxhighlight> <br> <u>環境変数 <code>GH_TOKEN</code> は、環境変数 <code>GITHUB_TOKEN</code> より優先される。</u><br> <br> ==== HTTPS / SSHの問題 ==== Gitプロトコルの設定やSSH鍵の登録に関する問題の対処方法を示す。<br> <br> # 現在のGitプロトコルを確認 gh config get git_protocol # HTTPSに変更 gh config set git_protocol https # Gitの認証設定を更新 gh auth setup-git # SSH鍵を登録 gh ssh-key add ~/.ssh/id_ed25519.pub --title "My Linux Machine" # 登録済みSSH鍵の一覧 gh ssh-key list <br> ==== Enterprise接続 ==== GitHub Enterprise Serverに接続する場合は、ホスト名を指定して認証を行う。<br> <br> # ホスト名を指定して認証 gh auth login --hostname github.example.com # デフォルトホストを環境変数に設定 export GH_HOST=github.example.com # Enterpriseリポジトリを指定してコマンドを実行 gh pr list --repo github.example.com/my-org/my-repo <br> ==== APIレートリミット ==== APIレートリミットに達した場合は、制限状況を確認して使用量を調整する。<br> <br> # レートリミットの状況を確認 gh api rate_limit <br> レートリミットの制限値は以下の通りである。<br> * 認証済み *: 5000リクエスト/時間 * 未認証 *: 60リクエスト/時間 <br> API呼び出しを減らすために、<code>--limit</code> フラグを使用して取得件数を制限することが推奨される。<br> <br><br> == アンインストール == ==== Windows ==== 使用したインストール方法に応じて、以下の手順でアンインストールする。<br> <br> * WinGetの場合 *: <pre>winget uninstall --id GitHub.cli</pre> * MSIインストーラの場合 *: [設定] - [アプリ] - [アプリと機能]からGitHub CLIを選択してアンインストールする。 * Chocolateyの場合 *: <pre>choco uninstall gh</pre> * Scoopの場合 *: <pre>scoop uninstall gh</pre> <br> ==== RHEL / SUSE ==== # RHEL sudo dnf remove gh # SUSE sudo zypper remove gh <br> ==== MacOS ==== * Homebrewの場合 *: <pre>brew uninstall gh</pre> * MacPortsの場合 *: <pre>sudo port uninstall gh</pre> <br><br> == 参考リンク == * [https://github.com/cli/cli GitHub CLI 公式リポジトリ] * [https://cli.github.com/manual/ GitHub CLI 公式ドキュメント] * [https://github.com/cli/cli/releases GitHub CLI リリースページ] <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,GitHub CLI,gh,PR,Issue,Actions,Release,Gist,Copilot |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]]
インストール - GitHub CLI
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse