見出し画像

Chromebookを買ったのでGithub CLIやってみた。

これの続き。WindowsユーザーでTortoiseGitしか使った事ないので、Github CLIを使ってみる。

前提としてgithubアカウントは作成済み。

Github CLIとは

コマンドライン上でgithub操作が出来るツール。githubが無料で公開しています。
現在(2024/04時点)のバージョンは2.47.0らしい。

Github CLIのインストール

ChromebookのlinuxOSはDebianらしい。

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

なのでhttps://github.com/cli/cli/blob/trunk/docs/install_linux.mdからDebianのコマンドでインストール。

$ 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.47.0 (2024-04-03)

認証と設定

githubの認証を取る。
ユーザー名とメールアドレスを設定する。

$ git config --global user.name "github登録のユーザー名"
$ git config --global user.email "github登録のメールアドレス"

8桁のコードをブラウザで入力する。

$ gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser

! First copy your one-time code: <8桁のコード>
Press Enter to open github.com in your browser... 
✓ Authentication complete.
- gh config set -h github.com git_protocol https
✓ Configured git protocol
! Authentication credentials saved in plain text
✓ Logged in as <username>

その後、以下のコマンドにてgitコマンドの認証ヘルパーをghに。
これでgitコマンド時の認証がghコマンドで設定したものが使われる。

$ gh auth setup-git

コマンドお試し

cloneしてみる。

$ gh repo clone <ユーザー名>/<リポジトリ名> <展開場所>
Cloning into '.'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (4/4), done.

とりあえず出来たので一旦ここまで。
次はVSCodeとの連携とかVSCodeでnuxt3でお試ししてpushとかかな。

参考

ここがほんとに参考になった。というかほぼなぞっただけww

この記事が気に入ったらサポートをしてみませんか?