個人学習メモ。
1.Git Credential Manager(GCM)とは
- Gitの資格情報を安全に保存し、HTTPS経由でGitHubに接続するツールのこと。
- Windows、macOS、Linuxで使える。
- Personal Access Token(PAT)を手動で生成・保存する必要がなく、2要素認証にも対応できる。
- GitHubの他、Bitbucket、Azure DevOpsにも対応している。
- ちょっと前まで「Git Credential Manager Core 」と呼ばれていたらしい。
GCMはGit for Windowsではデフォルトで内包されており、Git for Windowsインストール時にGCMを使うように選択していればpush時にすぐGCMで認証できる。
Git for Windowsインストール時の画面↓
MacやLinuxではhomebrewでインストールが必要。
Windows用のスタンドアロンインストーラもある。
2.Git for Windowsインストール済のWindows10端末でGCMの認証情報を確認する
Windows10でGitHubを始める~①GitインストールでGit for Windowsをインストールする際GCMを有効にしていれば、Windows10端末でGCMの認証情報を確認することができる。
2-1.gitコマンドで確認
Git for Windowsインストール後、認証管理の初期設定はGit Bashを開き以下コマンドで確認できる。
git config --show-origin credential.helper
出力例
$ git config --show-origin credential.helper
file:C:/Program Files/Git/etc/gitconfig manager-core
C:/Program Files/Git/etc/gitconfig
にファイルがあるようなので、エクスプローラーから見てみる。
認証情報の設定が確認できる。保存せず閉じる。
2-2.Windows資格情報から確認
[コントロールパネル]-[ユーザアカウント]-[資格情報の管理]-[Windows資格情報]-[汎用資格情報]から、認証情報が保存されているのが確認できる。
3.GCMでHTTPS認証する
初めてのgit push
実行時に出現するポップアップ「Connect to GitHub GitHub Sign in」で[Browser/Device]-[Sign in with your browser]をclickするとブラウザが開き、Git Credential Managerの承認を求められる。
操作イメージはWindows10でGitHubを始める~⑤Githubにプッシュする 手順2-3.git pushを参照。
4.GitHub側のGCM認証確認
GitHubにログインし、[Settings]-[Applications]-[Authorized OAuth Apps] を見ると、「Git Credential Manager」が確認できる。
GCMで認証することにより、以後Gitを使うとき再び認証を求められることはない。
余談
HTTP対応のGitリポジトリで機能する単一要素認証サポートを提供するGitの組み込みの資格情報ヘルパーとGCMは別物っぽい。
Compared to Git's built-in credential helpers (Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring/libsecret) which provides single-factor authentication support working on any HTTP-enabled Git repository, GCM provides multi-factor authentication support for Azure DevOps, Azure DevOps Server (formerly Team Foundation Server), GitHub, and Bitbucket.
参照
Windows10でGitHubを始める~⓪Gitの概念とインストールソフトの種類
Windows10でGitHubを始める~①Gitインストール
Windows10でGitHubを始める~①'おまけGitホームディレクトリ変更
Windows10でGitHubを始める~②GitHubアカウント作成
Windows10でGitHubを始める~③GitHubでのメールアドレス設定とGitクライアントでのユーザ名・メールアドレス設定
Windows10でGitHubを始める~③'おまけユーザ名・メールアドレス設定について詳細
Windows10でGitHubを始める~④リモートリポジトリの作成(GitHub)
Windows10でGitHubを始める~⑤Githubにプッシュする
Windows10でGitHubを始める~⑥-0.Git~GitHub間の認証について
Windows10でGitHubを始める~⑥-1.Git操作時のGitHub認証HTTPS(Git Credential Manager)
Windows10でGitHubを始める~⑥-2.Git操作時のGitHub認証HTTPS(Personal access token)
Windows10でGitHubを始める~⑥-3.Git操作時のGitHub認証SSH編
Windows10でGitHubを始める~⑦GitHubへのPullRequest