CommitとAuthorを修正する時は--authorではなく--reset-authorを使おう
今日会社で残念な情報でコミットしてしまったゆずです(ふざけて弄ったの忘れてた
gitを使っていて間違ったユーザ情報でコミットしてしまう時ってありますよね
失敗した状態
$ git log --pretty=full commit b6380fdad0e5e77a3086019d746a49e8648a5bb8 Author: yuzupon <yuzu@example.org> Commit: yuzupon <yuzu@example.org> fuga追加 commit a92ce5f557631ff6c4107feb727c4bdc598f3792 Author: yuzu <yuzu@example.com> Commit: yuzu <yuzu@example.com> init
名前はふざけてyuzupon
になってるし
メールアドレスは .com
から.org
になってる
今回はこれを直して行きたいと思います
修正手順
configを修正する
まずはgit config
を正しい状態に戻しましょう
$ git config --local user.name yuzu $ git config --local user.email yuzu@example.com
これでconfigは修正されました
確認方法はgit config --local --list
で見れます
logを修正
次はgit log
を修正します
今回重要なのはここで、git commit --amend
だけだと
commitの部分は修正されるのですが、authorが変わらないままになってしまう
$ git log --pretty=full commit b6380fdad0e5e77a3086019d746a49e8648a5bb8 Author: yuzupon <yuzu@example.org> Commit: yuzu <yuzu@example.com> fuga追加 commit a92ce5f557631ff6c4107feb727c4bdc598f3792 Author: yuzu <yuzu@example.com> Commit: yuzu <yuzu@example.com> init
Google先生に聞いてみると
$ git commit --amend --author="yuzu <yuzu@example.com>"
と実行して修正する記事いっぱい見たのですが
git commit --help
見てると--reset-author
というものを見つけた
git commit --amend --reset-author
これを実行することで、一発でcommiterとauthorが修正できる
$ git log --pretty=full commit b6380fdad0e5e77a3086019d746a49e8648a5bb8 Author: yuzu <yuzu@example.com> Commit: yuzu <yuzu@example.com> fuga追加 commit a92ce5f557631ff6c4107feb727c4bdc598f3792 Author: yuzu <yuzu@example.com> Commit: yuzu <yuzu@example.com> init
まとめ
git config
を設定したのに--author=<>
が間違ってたら意味ないと思うし
--reset-author
を使っていきたい