HTTPSでgit pull / git pushをするたびに、ユーザー名とパスワードを毎回聞かれました。
SSHで接続する手もありますが、GitHub等ではHTTPSを推奨しており、鍵管理の面でもHTTPSを使いたいです。
結論
git-credentialを使う。(gitの認証情報ヘルパー。version 1.7.9以降で使用可能。)
Macにはosxkeychain helperいう管理方式があるそうです。
設定
Macの場合
(1) osxkeychain helperがインストールされているか確認
$ git credential-osxkeychain # Test for the cred helper > Usage: git credential-osxkeychain
Homebrew経由でgitをインストールした場合は、自動的に有効化されているようです。
(2) osxkeychain helperを使うよう設定
$ git config --global credential.helper osxkeychain # Set git to use the osxkeychain credential helper
初回入力時にパスワードがOS Xキーチェーンに保存され、以後入力不要になります。
特定のリポジトリ限定で設定する場合は、”–global”の部分を”–local”に書き換えます。
その他の管理方式
- git-credential-store: ファイルに平文で保存
- git-credential-cache: 常駐プロセスに記憶
- Git-Credential-Manager-for-Windows: Windowsのパスワード管理保存
- etc..
元に戻す
$ git config --global --unset credential.helper
最後に
書いていて思ったのですが、2段階認証を設定している場合はどうなるのでしょうか。近いうちに検証してみたいと思います。
最近のコメント