かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Fork で global に設定した username 以外で push する

記事一覧はこちらです。

最近 Git の GUI Client に Fork を使用していますが、global に設定した username とは別の username で push したいことが出来たので、その方法を調べてみました。

clone したレポジトリのディレクトリへ移動した後、以下のコマンドを入力すると別のアカウントで push できるようになります。

git config --local user.name "アカウント"
git config --local user.email "メールアドレス"
git config --local credential.namespace git.username

※上記の最後のコマンドの git.usernameusername の部分は git config --local user.name コマンドで指定したアカウント名に置換すること。

一番最初だけ username と password を入力するダイアログが表示されます(GitHub で Two-factor authentication を設定している場合には「Two-factor authentication」のダイアログも表示されます)。

f:id:ksby:20191104230826p:plainf:id:ksby:20191104230925p:plain

入力された認証情報は Windows の資格情報マネージャーに登録されます。資格情報マネージャーに登録されたこの情報を削除すれば push 時に再びダイアログが表示されるようになります。

f:id:ksby:20191104231544p:plain

Two-factor authentication を設定しているのにこの後は username, password も Two-factor authentication の数字6桁も一切聞かれなくなるんですよね。どういう仕組みなのでしょうか。。。?

また毎回 username, password を入力したい場合には、以下のコマンドを実行すれば push の都度ダイアログが表示されるようになります。

git config --local credential.helper ""

今回の記事では以下のサイトを参考にしました。