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)を使ってみよう

0
Posted at

GitHub CLI とは何か

GitHub CLI(gh)は、GitHub が公式に提供するコマンドラインツールです。
ブラウザを開かずに、ターミナルから以下のような操作を行えます。

  • Issue・Pull Request の作成・確認・マージ
  • リポジトリの作成・クローン
  • GitHub Actions の実行・確認
  • リリースの管理

git コマンドは使えるが、GitHub の操作はいちいちブラウザを開いている」
という方に特に有用なツールです。


インストール

OS ごとにインストール方法が異なります。

macOS(Homebrew)

brew install gh

Windows(winget)

winget install --id GitHub.cli

または Chocolatey を使う場合:

choco install gh

Linux(Fedora / RHEL 系)

sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh

Linux(Debian / Ubuntu 系)

(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
  && sudo mkdir -p -m 755 /etc/apt/keyrings \
  && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg \
     | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
  && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
  && echo "deb [arch=$(dpkg --print-architectur---
title: GitHub CLI(gh)を使ってみよう 
tags:
  - GitHub
  - GitHubCLI
  - CLI
  - Git
  - 開発環境
private: false
updated_at: ''
id: null
organization_url_name: null
slide: false
ignorePublish: false
---

# GitHub CLI とは何か

GitHub CLI(`gh`)は、GitHub が公式に提供するコマンドラインツールです。
ブラウザを開かずに、ターミナルから以下のような操作を行えます。

- Issue・Pull Request の作成・確認・マージ
- リポジトリの作成・クローン
- GitHub Actions の実行・確認
- リリースの管理

>`git` コマンドは使えるが、GitHub の操作はいちいちブラウザを開いている」
> という方に特に有用なツールです。

---

# インストール

OS ごとにインストール方法が異なります。

## macOS(Homebrew)

```bash
brew install gh

Windows(winget)

winget install --id GitHub.cli

または Chocolatey を使う場合:

choco install gh

Linux(Fedora / RHEL 系)

sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh

Linux(Debian / Ubuntu 系)

(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
  && sudo mkdir -p -m 755 /etc/apt/keyrings \
  && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg \
     | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
  && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
  && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
     | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
  && sudo apt update \
  && sudo apt install gh -y

インストール確認:

gh --version
# gh version 2.x.x (yyyy-mm-dd)

ログイン(認証)

gh auth login

対話形式で認証方法を選択します。

リポジトリを作ろう

gh repo create <リポジトリ名> --< private | public >

で非公開、公開を選んで作成をすることが可能です。

既存のローカルリポジトリをGitHubに上げる

これは私の良くしていた事なのですが、ローカルだけで作っていた物をGitHubに上げる事をするときに、

GitHubへログイン→新しい空のリポジトリを作成する→ローカルのGitにリモートを登録する→強制的にプッシュする

ローカルリポジトリへの操作だけをコードで表すとこんな感じです。

git remote add origin git@github.com:<UserName>/<作成したリポジトリ名.git
git push -u origin main

こ、工程が多い。

面倒くさがり且つおっちょこちょいな私にはとってもやりづらい事を簡単にすることが出来るようになります。それがこちら!

cd <ローカルリポジトリ>
gh repo create <リポジトリ名> --source=. --remote=origin --push --< private | public >

すっごい楽。私の今までの苦労は何だったの…

他にもリポジトリ自体にタグで区別したりとか、もっと色々な事が--helpを見ると出来るようです。私もまだまだ使いこなせていないので精進していきたいです。e) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main"
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
&& sudo apt update
&& sudo apt install gh -y


インストール確認:

```bash
gh --version
# gh version 2.x.x (yyyy-mm-dd)

ログイン(認証)

gh auth login

対話形式で以下を選択します。

  • 接続先:GitHub.com または GitHub Enterprise
  • プロトコル:HTTPS または SSH
  • 認証方法:ブラウザ(OAuth)または Personal Access Token

ブラウザ認証を選ぶと自動でブラウザが開き、認証後にターミナルへ戻ります。


リポジトリを作ろう

gh repo create <リポジトリ名> --private
# または
gh repo create <リポジトリ名> --public

--private / --public でリポジトリの公開設定を指定します。

既存のローカルリポジトリを GitHub に上げる

以前は次のような手順が必要でした。

  1. GitHub にブラウザでログイン
  2. 空のリポジトリを手動作成
  3. ローカルにリモートを登録
  4. プッシュ
git remote add origin git@github.com:<UserName>/<リポジトリ名>.git
git push -u origin main

工程が多く、手間がかかります。

gh を使うと、これが一発で済みます。

cd <ローカルリポジトリ>
gh repo create <リポジトリ名> --source=. --remote=origin --push --private

GitHub 上のリポジトリ作成・リモート登録・プッシュがすべて完結します。

他にも --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?