Git Credential Manager 3.0 と Azure Repos:何が変わり、どう戻すか
Git Credential Manager 3.0.0 は2026年9月24日に出ました。リリースノートには Azure Repos について3つの変更があります。個人用アクセス トークン(PAT)を作る代わりに OAuth トークンでサインインする、OS のサインインのブローカーを既定で使う、Visual Studio のアプリでなく専用の Microsoft Entra アプリとしてサインインする、の3つです。IntelliJ IDEA・Rider などの JetBrains IDE はパソコンに入っている Git を動かすので、IDE の中の Git にも当てはまります。
自分に来ているか
git credential-manager --version
| 使っているもの | 2026年10月28日の版 |
|---|---|
| Windows・Git for Windows に付いてきた Git Credential Manager | 2.x。Git for Windows 2.56.0(4)(2026年10月26日)までのリリースノートで、最後に名前が出るのは v2.9.0 |
| Windows・Git Credential Manager を単独で入れた(たとえば Bitbucket の11月30日の変更のため) | 3.0.x。単独で入れた方が、同梱の方より優先されます |
macOS・Homebrew(git-credential-manager の cask) | 3.0.2 |
| Linux・.NET ツール | 入れた版 |
対象は Azure DevOps Services(dev.azure.com と *.visualstudio.com)です。Azure DevOps Server には Git Credential Manager の汎用の提供者が使われる(Azure Repos のコードのコメント)ので、下の3つの変更はどれも当たりません。
3.0 で変わったこと
| 3.0 より前 | 3.0 から | 元に戻すには |
|---|---|---|
| 組織ごとに個人用アクセス トークンを作っていた | Microsoft ID の OAuth トークン。使っている間は自動で更新され、Visual Studio と共有 | git config --global credential.azreposCredentialType pat |
| ブローカーは Windows だけ・自分で有効にしたときだけ | Windows・macOS・Linux で、使えるところでは既定でブローカー | git config --global credential.msauthUseBroker false |
| Visual Studio のアプリとしてサインイン | Git Credential Manager 専用の Entra アプリとしてサインイン | git config --global credential.azreposUseLegacyClientId true(一時しのぎの位置づけ) |
環境変数なら GCM_AZREPOS_CREDENTIALTYPE=pat・GCM_MSAUTH_USEBROKER=false・GCM_AZREPOS_USE_LEGACY_CLIENTID=true です。マネージド ID・サービス プリンシパル・ワークロード ID フェデレーションのサインインは、アプリの変更の影響を受けないとノートにあります。
更新のあとサインインが通らないとき
新しいアプリがクライアント構成の誤りとして断られると、Git Credential Manager は次のように出します。
Authentication using the new GCM Entra application failed. To retry this command with the legacy Entra application, set 'credential.azreposUseLegacyClientId' to 'true' in Git configuration.
(新しい GCM の Entra アプリでの認証に失敗しました。旧 Entra アプリでこのコマンドをやり直すには、Git の設定で 'credential.azreposUseLegacyClientId' を 'true' にしてください。)
自分では元に戻りません。旧アプリで1回だけ試すには:
git -c credential.azreposUseLegacyClientId=true fetch
これで通ったら、元の失敗を報告してほしいとリリースノートにあります。旧アプリは macOS と Linux ではブローカーを使えません。テナントで登録済みのアプリしかサインインできないようにしているなら、Git Credential Manager のソースにあるアプリケーション ID は d735b71b-9eee-4a4f-ad23-421660877ba6(新)と 872cd9fa-d31f-45e0-9eab-6e460a02d1f1(旧)です。
credential.msauthFlow=embedded にしていたなら、auto・system・devicecode のどれかに変えます。Windows の埋め込みのサインイン画面は 3.0 で無くなりました。
ブローカーがデバイスの登録を求める前に
ブローカーの説明は、Git Credential Manager では制御できないこととして2つを挙げています。
- 会社が管理していないパソコンで職場・学校のアカウント(自分のパソコンや、委託先として別の会社のアカウントを使う場合):最初のサインインで Microsoft Entra ID への参加や Intune への登録を求められることがあり、登録すると会社の管理者がそのパソコンを監視したり、ソフトを入れたり、設定を変えたりできるようになります。先に管理者に聞くか、サインインの前にブローカーを切ります。
- Windows のローカル アカウントで個人の Microsoft アカウント:Microsoft アカウントがローカルの Windows アカウントに結び付けられ、Windows へのサインインの仕方が変わることがあります。
macOS のブローカーには Company Portal アプリと登録済みのデバイスが、Linux には対応する Intune の構成・GNOME のデスクトップ・Microsoft Edge が要り、画面の無い環境や WSL では使えません。使えないところでは、ブラウザかデバイス コードでサインインします。
アカウントが違う
OAuth トークンでは、組織ごとに選んだアカウントを Git Credential Manager が覚えています(ユーザーとトークン)。
git-credential-manager azure-repos list git-credential-manager azure-repos unbind <組織名>
unbind のあと、次の Git のコマンドでサインインし直しを求められます。Azure DevOps が TF401444 を返すなら、組織がそのアカウントをまだ知りません(見るところ)。
スクリプトと古い Windows
- ターミナルの選択は番号の入力でなく矢印キーになり、
git credential-manager diagnoseの出力の形も変わりました。どちらかを自動で動かしているスクリプトは直しが要ります。 - Git Credential Manager 3 は Windows 10 以降・Windows Server 2016 以降です。Windows 7 と 8.x では、2.9.x にセキュリティの修正だけが入ります。
IntelliJ IDEA と Rider で Azure DevOps のプルリクエストを
Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。自分のレビューを待っているプルリクエストを IDE のツールウィンドウに並べます。Azure DevOps Services でも Azure DevOps Server でも使えます。Azure DevOps の API へは、自分の個人用アクセス トークンか Azure CLI のサインイン(az login)でつなぎ、Git Credential Manager は通りません。Git そのもの(pull・push・チェックアウト)は、これまでどおりパソコンの Git と資格情報ヘルパーを使います。レビューの受け箱は無料、投票・コメント・完了は Pro(30日間の無料試用つき)です。画面は日本語です。
Azure DevOps・Visual Studio・Intune・Microsoft Entra は Microsoft Corporation の商標、IntelliJ IDEA と Rider は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains・Git Credential Manager のプロジェクトのいずれとも提携しておらず、承認も受けていません。
ほかに:全組織向けの個人用アクセス トークンの廃止 · az repos pr と Azure CLI のサインイン · English