4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows10でGitHubを始める~⑥-1.Git操作時のGitHub認証HTTPS(Git Credential Manager)

Last updated at Posted at 2022-03-01

個人学習メモ。

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インストール時の画面↓
image.png
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

image.png
C:/Program Files/Git/etc/gitconfigにファイルがあるようなので、エクスプローラーから見てみる。
image.png
認証情報の設定が確認できる。保存せず閉じる。
image.png

2-2.Windows資格情報から確認

[コントロールパネル]-[ユーザアカウント]-[資格情報の管理]-[Windows資格情報]-[汎用資格情報]から、認証情報が保存されているのが確認できる。
image.png
image.png
image.png

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」が確認できる。
image.png
image.png

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

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?