4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gitのconfigを適切に設定して悲劇を防ごう ~user編~

Last updated at Posted at 2019-10-08

これなんの記事?

と思ったあなたのためにまずは説明を。

あなたは自分のpcでとあるプロジェクトの作業をしようとしています、「githubのこのリポジトリcloneして作業お願いします」と言われたので、ささっと作業してpush。

ふう、今回もスマートに作業を終わらせてしまった・・・と悦に浸っていたのですが次の日会社に出社すると「よお!クラウド!」、「あ、クラウドじゃん!」、「クラウドさんチーッス!」と言い始める同僚社員たち、なぜ誰にも言ったことのない自分のハンドルネームが!?と困惑するあなた、全ては昨日の作業が原因だったのです。

スクリーンショット 2019-10-09 3.16.32.png

なんとgithub上で閲覧できるコミット履歴に自分が個人的に使っているHNが表示されてしまっているではないですか!

何が起こったの?

ローカルリポジトリごとにユーザー情報を設定していなかったため、グローバルに登録されたユーザー情報が使用されてしまっていたのです。

gitのコミットにはコミットしたユーザーの情報が含まれることはご存知でしょうか。

git log で出力したコミット履歴を見ていくとこんな表記があるはずです。

Author: †kuraudo† <kuraudo@sefirosu.com>

で、この情報どこから出てきたの?ということなんですが、gitインストールして初回のコミット前にみなさんユーザー情報(ユーザー名&メールアドレス)を登録しているはずです。
↓多分こんなの

git config --global user.name †kuraudo†
git config --global user.email kuraudo@sefirosu.com

この設定、 --global オプションがついているため、各ローカルリポジトリ別にユーザー情報の設定がなければ全てのローカルリポジトリで使用されます。
恐らくクラウドさんことあなたはgitインストール初期にgitの公式を見て言われるがまま自分の好きなユーザーネームと個人で使用しているメールアドレスを入れてしまったのでしょう。

そしてcloneしたてのローカルリポジトリにはuser情報の設定がないため、globalに設定された上記のユーザー情報がそのまま使用されてしまったというわけですね。

ローカルリポジトリ別の設定を確認するには、git管理下のディレクトリに入って git config --local -l コマンドで確認できます。

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
...(略)

こんな感じで色々設定があると思いますが、 user.nameuser.email という設定は存在していないはずです。

どうしたらいいの?

今回のような悲劇を繰り返さないためにはどうすればいいかというと前述の通りlocalでユーザー情報の設定を追加してあげれば良いわけですね。

git config --local user.name kasyuu
git config --local user.email xxx@xxxx.com

git log --local で確認してちゃんと設定されていればOK

user.name=kasyuu
user.email=xxx@xxxx.com

コミットしてpushし直してみましょう。

スクリーンショット 2019-10-09 3.58.53.png

ちゃんと自分のユーザー名が表示されましたね。

ちなみにアイコンにgithubのアイコンが表示されていることに気づいた方もいるかもしれませんが、githubやgitlab等大半のリモートリポジトリホスティングサービスでは、ユーザー登録時に使用したユーザー名とメールアドレスがコミットユーザー情報と一致した場合、自動的に登録されているユーザー情報と紐づけてくれます。

そのため、基本的には使用しているホスティングサービスで使用しているユーザー名とメールアドレスを登録するのが良いでしょう。

さいごに

そのため、基本的には使用しているホスティングサービスで使用しているユーザー名とメールアドレスを登録するのが良いでしょう。

正直これが一番言いたかった。
(あまり気にしない方もいるかもしれませんが、登録されていないユーザーの名前がgithub等のコミット履歴に並ぶの気持ち悪くありません?アイコンも表示されないので視覚的にもわかりにくいですし・・・)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?