l12a

白ウサギを追え

Git でコミットするユーザネームとメールアドレスを間違えた

git config の local を設定してなかったがために、global に設定した user.nameuser.email で commit して、気づかずそのまま push してしまいました。順番に直します。

git config を直します

今回は global 設定はそのままに、local の設定を変更してこのリポジトリの時にだけ設定が適用されるようにします。

$ git config --local user.name YOUR_USERNAME
$ git config --local user.email YOUR_EMAIL@EXAMPLE.COM

うまく設定が入ったかは global の設定を表示して、

$ git config --global -l
(抜粋)
user.name=ANOTHER_USERNAME
user.email=ANOTHER_EMAIL@EXAMPLE.COM

local の設定も表示して、

$ git config --local -l
(抜粋)
user.name=YOUR_USERNAME
user.email=YOUR_EMAIL@EXAMPLE.COM

正しくなっているか確認します。 また、オプション抜きで表示して、

$ git config -l
(抜粋)
user.name=ANOTHER_USERNAME
user.email=ANOTHER_EMAIL@EXAMPLE.COM
.
.
.
user.name=YOUR_USERNAME
user.email=YOUR_EMAIL@EXAMPLE.COM

user.nameuser.email が2つずつ表示され、後の行に local 設定が入って(上書きされて)いることを確認しても良いです。

commit を直します。

直近の commit を直すなら、

$ git commit --amend --author="YOUR_USERNAME <YOUR_EMAIL@EXAMPLE.COM>"

これで直ります。 ちなみに --author を使わないと committer だけ変わって、

$ git commit --amend
$ git log --pretty=full
Author: ANOTHER_USERNAME <ANOTHER_EMAIL@EXAMPLE.COM>
Commit: YOUR_USERNAME <YOUR_EMAIL@EXAMPLE.COM>

    test commit

こんな感じになってしまいます。Author が変わっていません。

push 済みならもう一度 push しておきます。

$ git push -f

まだ push する前だったら -f は要りません。

そんな感じ。