git-credential-wincredのユーザー名やパスワードを変える

怒られた

この記事で扱っているgit-credential-wincredはとっくの昔に非推奨になっています。現在のgit for WindowsにはGit-Credential-Manager-for-Windowsがデフォルトで一緒にインストールされるようになっているのでそちらを利用してください。
なお、credential managerもwincredと同様にWindowsの資格情報として保管されます。

GitをWindowsで使うとき、httpsのパスワードを記憶させるのにgit-credential-wincredって言うのがある。Windowsの資格情報としてパスワードを保存する、セキュアで楽で速いツール。GitHubのヘルプにもある

先日、GitHubのユーザー名を変えたが、そのままこれを使ってpushしようとすると

って怒られた。ユーザー名変わってるし当たり前なんだけど何回やってもでるし変え方が分からなかった。

資格情報マネージャーから変更

調べてみたらcodeplexのFAQにどこに保存してあるの?って書いてあった。

Windowsの資格情報なので資格情報マネージャーから変えれた。
コントロールパネル→ユーザーアカウント→資格情報の管理→Windows 資格情報

ss+(2015-03-08+at+02.56.27)

汎用資格情報に例えばGitHubならgit:https://github.comってのがあるので現在のユーザー名とパスワードにしてやればおk。ちなみに2FA(二段階認証)を利用している場合はこのユーザー名をGitHubのユーザー名、パスワードをパーソナルアクセストークンにしておけばたぶん大丈夫。(Creating a personal access token for the command line – User Documentation)

結局Macの時(keychain)と同じような設定変更でした。以上。

コマンドラインから変更(削除)する

gitのcredentialヘルパーはgitのサブコマンドとしてインストールされたものを利用するので、共通のインタフェースでそのAPIを叩くことができる。

たとえばGCMでgithub.comの認証情報を表示する場合は以下のような感じ。

すると、保存されているユーザー名とパスワードが平文で(!!)表示される。パーソナルアクセストークンがGCMで登録されている場合のユーザー名は PersonalAccessToken になってた。

あるいは以下のように標準入力でurlを指定してもいい。

結果は同様。

同様に、 erase で認証情報の削除ができる。

または

この後でいつもどおりpushし直せば再度認証を求められるのでユーザー名とパスワード(とワンタイムパスワード)を用いてログインすればいい。

GCM以外の場合もcredential-managerのかわりにcredential-osxkeychainのようにヘルパー名を指定すれば任意のCredential helperにて同様のアクションができる。

そのほか、GCMにはdeleteコマンドも存在するようだが、手元ではどうもうまくいかないので詳細求む。

ユーザー名変更編は続きます。多分。

コメントを残す