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