認証情報ヘルパー
Gitcito は 3 種類の秘密情報を扱っていて、多くの人はそれらを 1 つのものだと思っています。 無理もありません。
| 保管しているのは | |
|---|---|
| ホストの API トークン — プルリクエスト、イシュー、CI のチェック | Gitcito が OS のキーチェーン に |
git@… の通信 |
あなたの SSH 鍵。システムの ssh エージェント経由 |
https:// の通信 |
git 自身の認証情報ヘルパー |
3 つめは、うまく行かなくなるまで誰も機能だとは思いません。そして壊れると、git で最も よくある 2 つの不満を生みます。なぜまた聞いてくるのか と、なぜ失効させたトークンを まだ送っているのか です。
⌘K → 認証情報ヘルパー。

ここに映っているもの
設定されているすべての credential.helper が、その由来のスコープごとに並びます —
system、global、そしてこのリポジトリです。ヘルパーは積み重なります。git は順に
すべてへ尋ねるので、リポジトリ単位のものがグローバルのものを置き換えるわけではありません。
それぞれはあなたのマシンに照らして確認されます。
| 印 | 意味 |
|---|---|
| 利用できます | ヘルパーのプログラムが存在し、実行できます |
| 未インストール | 設定はされているのにプログラムがありません — 毎回の入力要求はすべて手入力に落ちます |
| パスワードを平文ファイルに保存 | store ヘルパーです(下記参照) |
特定のホスト向けのルール には credential.<url>.* のセクションが並びます。これらは
一致する URL について通常の設定より優先され、「なぜこのホストだけ挙動が違うのか」の答えは
たいていこれです。
選び方
| ヘルパー | パスワードの行き先 |
|---|---|
osxkeychain |
macOS のキーチェーン — 暗号化され、ユーザー単位 |
manager |
Git Credential Manager(Windows、クロスプラットフォーム) |
wincred |
Windows 資格情報マネージャー |
libsecret |
Linux のシークレットサービス(GNOME Keyring、KWallet) |
cache |
メモリ上に 15 分間。ディスクには何も残りません |
store |
ホームディレクトリの平文ファイル。暗号化なし |
Gitcito は、このマシンに実際に入っているものを提示し、あなたの OS に合うものに印を付け、 残りをグレーアウトします。
スコープは重要です。 すべてのリポジトリで(グローバル) はグローバルの設定へ書き 込みます。ほとんどの場合こちらが望みのものです。このリポジトリだけ は、別のところへ 認証する変わったリポジトリのためのものです。
store ヘルパーと ~/.git-credentials
store は https://user:password@host という行を ~/.git-credentials へ、平文で、
いっさいの暗号化なしに書き込みます。あなたの権限で動くものなら何でも読めます。
スクリプトも、依存パッケージの postinstall も、何でもです。
そのファイルがあれば、このページはその旨を伝え、件数を数えます。中身を表示することは ありません — 件数こそが要点であり、表示のために内容を読むのは同じ過ちだからです。
見つかって、それが意図したものでなかったなら、ここで本物のヘルパーを選び、ファイルを 削除して、もう一度だけ認証し直してください。
保存された認証情報を忘れさせる
トークンを失効させたり入れ替えたりすると、ヘルパーは古いものを渡し続け、プッシュは
何も名指ししない 401 で失敗し続けます。忘れさせる は、そのホストの項目を消すよう
設定済みのヘルパーへ依頼します — git credential reject、git 自身が文書化している
経路です。
その途中で何かを読み出すことはありません。生のパスワードを標準出力へ書き出してしまう
コマンド git credential fill を、Gitcito が呼ぶことは決してありません。
次のプッシュで一度だけ尋ねられ、ヘルパーが新しい答えを保存します。
知っておくべき制限
- これは git の保管先であって、Gitcito のものではありません。 ここを変えると ターミナルの挙動も変わります — それが狙いですが、変える前に知っておく価値があります。
- システムスコープのヘルパーは表示されるだけで、編集できません。 管理者だけが書ける 設定ファイルにあるからです。
- Gitcito はヘルパーが持っている中身を一覧できません。 秘密情報そのものを渡さずに それを見せる認証情報 API は存在しません。だからこのダイアログは設定を報告し、依頼が あれば消す、それだけです。
- Gitcito に渡したトークンは別物です。 一方を失効させても、もう一方には触れません。 キーチェーン側については セキュリティ を見てください。
関連項目: セキュリティ · SSH 鍵 · フェッチ、プル、プッシュ