コミットのユーザ名、メールアドレス情報を修正したい

Pocket

こんばんは、システム開発担当の野口です。クリスマスも通り過ぎて年末ムード一色です。弊社は28日で仕事納めでした。来年も頑張らないとな。。。

リポジトリを新たに作成したり、違うユーザでコミット作業をしようとするときにありがちなのが、ユーザ情報を設定せずにコミットしてしまうことです。

ユーザ情報未設定の悲劇

$ git commit -m "Initial commit."
[master (root-commit) bb4208e] Initial commit.
 Committer: Wataru Noguchi 
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

If the identity used for this commit is wrong, you can fix it with:

    git commit --amend --author='Your Name '

 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 index.html

やっちゃいましたね。上の指示に従ってユーザ情報を修正します。

ユーザ情報を設定する

$ git config --global user.name "Wataru Noguchi"
$ git config --global user.email "wnoguchi@u-cast.com"

コミットのやり直し

$ git commit --amend --author="Wataru Noguchi "
[master a3d3c65] Initial commit.
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 index.html

うまくできたかどうか確認します。

$ git log
commit a3d3c653e367f698d93d7afea085ac0a4fba9acc
Author: Wataru Noguchi 
Date:   Sat Dec 3 22:52:26 2011 +0900

    Initial commit.

OK ですね。

でも実は

見た目は前のコミットは削除されたように見えますが、前のコミット情報は削除されていません。

$ git reflog
6ec5b4e HEAD@{3}: commit (amend): Initial commit.
bb4208e HEAD@{4}: commit (initial): Initial commit.

bb4208e という前のコミット情報が残ってしまっています。気持ち悪いかもしれませんが、こればっかりはどうにもならないようです。Git 自体が履歴がなかなか削除できない仕様になっているようです。

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください