GitHub Personal Access Token を Visual Studio Code で設定する方法
問題点
GitHub は 2021年8月13日以降、パスワード認証からトークン認証への移行を要求しています。この変更により、Visual Studio Code で Git 操作(プッシュやプル)を行う際に認証エラーが発生する可能性があります。
背景
GitHub はセキュリティ強化のため、従来のパスワード認証に代わり Personal Access Token (PAT) を使用した認証を必須化しました。
解決方法
方法1: Git Remote URL の直接更新(推奨)
最も確実な方法は、リモートリポジトリのURLをトークン付きの形式に変更することです。
Personal Access Token の生成
- GitHub にログイン後、[Settings] → [Developer settings] → [Personal access tokens] に移動
- 「Generate new token」をクリック
- 必要な権限を設定(少なくとも
repo
権限は必須) - トークンを安全な場所に保存
リモートURLの更新
bashgit remote set-url origin https://<TOKEN>@github.com/<USERNAME>/<REPOSITORY>.git
具体例:
bashgit remote set-url origin https://ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ12345678@github.com/username/my-repo.git
変更の確認
bashgit remote -v
出力例:
origin https://<TOKEN>@github.com/username/repo.git (fetch) origin https://<TOKEN>@github.com/username/repo.git (push)
ヒント
git remote -v
で現在のリモート設定を確認できます。トークンが正しく設定されていれば、URLにトークンが含まれているはずです。
方法2: Git Credential Manager の使用
認証情報をキャッシュする方法です。一度設定すると、次回以降の操作が簡略化されます。
既存の認証情報を削除
bash# Windows (Git Credential Manager Core) printf "protocol=https\nhost=github.com\nusername=<USERNAME>" | git credential-manager-core erase # macOS git credential-osxkeychain erase https://github.com
新しいトークンを保存
bashprintf "protocol=https\nhost=github.com\nusername=<USERNAME>\npassword=<TOKEN>" | git credential-manager-core store
注意
Linux では Git Credential Manager Core を別途インストールする必要がある場合があります。
方法3: Visual Studio Code の認証プロンプトを利用
- Visual Studio Code で Git 操作(プッシュ/プル)を試行
- 下部に表示される「Signing into GitHub」をクリック
- ブラウザが開くので認証を実行
- トークンを手動で入力するプロンプトが表示された場合は、生成したPATを貼り付け
認証プロセスの詳細確認
- VS Codeでターミナルを開く
- 「出力」タブを選択
- ドロップダウンから「GitHub Authentication」を選択
トラブルシューティング
認証プロンプトが表示されない場合
- Visual Studio Code を再起動
- キーチェーン(macOS)または資格情報マネージャー(Windows)から古いGitHub認証情報を削除
- Git を最新バージョンに更新
トークンの権限設定
トークン生成時には以下の権限を確認してください:
権限 | 説明 |
---|---|
repo | プライベートリポジトリを含むすべてのリポジトリアクセス |
workflow | GitHub Actions のワークフロー実行 |
read:org | 組織情報の読み取り |
重要
トークンはパスワード同様に扱い、他人と共有したり公開リポジトリにコミットしないでください。
参考情報
この記事で紹介した方法のいずれかを使用することで、Visual Studio Code から安全に GitHub リポジトリにアクセスできるようになります。