Gitの最初に行いたい設定。gitconfigにユーザ名とemailを設定する

2021.10.10
Gitの最初に行いたい設定。gitconfigにユーザ名とemailを設定する

gitの設定ファイル「gitconfig」には 誰が行ったコミットか?」を判別するための2つの設定 があります。

  • user.name → ユーザ名
  • user.email → email

これらに対して設定を行う事で、

誰のコミットかをGitHubのようなリモートリポジトリ上でも確認することが出来るようになります。



この記事では

  • gitに対してユーザ名とemailを設定する方法
  • 設定を変更した場合のtig・GitHub上での表示の違い

について記載します。

検証した環境

1 git 2.33.0

user.nameとuser.emailを設定する

誰がコミットを行ったか?を判別するために

gitconfigのuser.nameuser.emailを設定します。



調べてて知ったのですが

公式でも最初にすべきことは「ユーザ名とEmailアドレスを設定すること」 と書いてあるんですね

Gitをインストールしたときに最初にすべきことは、ユーザー名とEmailアドレスを設定することです。
全てのGitのコミットはこの情報を用いるため、これは重要で、作成するコミットに永続的に焼き付けられます


Git - 最初のGitの構成 より引用


ちなみにuser.nameuser.email設定を行わないとコミット時に警告が表示されます



ユーザ名とemailを設定する

本題です!

ユーザ名とemailの設定の仕方は2通り


gitコマンドを使う

1つ目はターミナルでgitコマンドを使う方法

$ git config --global user.name "taro yamada"
$ git config --global user.email taro_yamada@example.com

このコマンドはターミナル上のどこのフォルダで実行しても構いません。



コマンドを実行するとこの下に記載している~/.gitconfigというファイルに設定が記載されます。

(つまり ~/.gitconfig に直接記載するのと同じことが起きる)


この変更はターミナルを再起動等しなくても即時に反映されます




gitconfigに設定する

vim操作や設定ファイルの編集に慣れている人はこちらの方法の方が親しみやすいかもしれません

vimやファイル編集で直接 ~/.gitconfig を編集します

$ vim ~/.gitconfig
~/.gitconfig
[user]
   name = taro yamada   # スペースが入っても""で囲まなくてOK
   email = taro_yamada@example.com


設定の確認

設定を確認するにはgit configコマンドを用います

$ git config --global --list
core.editor=/usr/bin/vim
color.ui=auto
alias.st=status -s
・・・
user.name=[名前]
user.email=[メールアドレス]
・・・

上記コマンドは、先ほどの ~/.gitconfig というgitに関する設定ファイルに記載した設定を全て表示する、というものです




全て表示されてしまって見つけづらい場合はgrepをかけると見つけやすくなります

$ git config --global --list | grep user
user.name=[名前]
user.email=[メールアドレス]



設定を変更した場合のtig・GitHub上での表示の違い

以下のような順番でコミットをしてみました。

1. user.name・・yuki-takara(メインの名前)   user.email・・メインのアドレス
2. user.name・・サンプル太郎(適当な名前)    user.email・・メインのアドレス
3. user.name・・yuki-takara(メインの名前)   user.email・・サブアカウントのアドレス
4. user.name・・サンプル次郎(適当な名前)    user.email・・サブアカウントのアドレス

tig と GitHub 上だと表示順番が逆になります


tigの場合

tigの場合はメインの画面でuser.nameが表示されます


GitHubの場合

GitHubだとuser.nameは表示されずGitHubで設定している名前が表示されます。

また、メールアドレスに紐付くアカウントがコミットした、と認識されるようです。

おすすめ