auの日記

プログラミング初心者の日記。(auはハンドルネームです)

Gitのcommiterとauthorを無理やり変更した

auです。

僕は、GitHubアカウントを大学用とプライベートやインターン用の2つを使っています。

このようなことをしている人はいっぱいいると思いますが、問題がでる場合もあります。

それは、commitをしたアカウントが違ってしまうという問題です。

あるあるですが、修正するのに時間がかかったので載せておこうと思います。


commitを1つずつresetして再度commitしまくる

分かりやすく、確実な方法だと思いました。

ユーザ名の変更をしてない人はこれをやりましょう。

git --local user.name ユーザ名
git --local user.email メール名

情報を書き換えたいブランチに移動して、戻したいところまで以下のコマンドで戻します。

git reset --soft HEAD^

git stash

そしたら次に、一つずつ取り出してcommitします。

git stash pop

git add .

git commit -m "コメント"

最後に、強制プッシュをして書き換え完了になります。

git push -f origin ブランチ名

git logとgit statusを使って確認しながらやりました。

    • softを使うことで、コードに差分が出ます。それをstashして退避し、popで一つずつ戻しながら、commitしていきます。

これで、全く同じ動作をすることができました。

もし間違えた場合

もしも間違えた場合は、思い切って、resetをやり始める前に戻りましょう。

git reflog

resetする前の番号を覚える

git reset --soft HEAD@{N} // Nは番号