gitの設定ファイル「gitconfig」には 「誰が行ったコミットか?」を判別するための2つの設定 があります。
- user.name → ユーザ名
- user.email → email
これらに対して設定を行う事で、
誰のコミットかをGitHubのようなリモートリポジトリ上でも確認することが出来るようになります。
この記事では
- gitに対してユーザ名とemailを設定する方法
- 設定を変更した場合のtig・GitHub上での表示の違い
について記載します。
検証した環境
1 | git | 2.33.0 |
user.nameとuser.emailを設定する
誰がコミットを行ったか?を判別するために
gitconfigのuser.name
とuser.email
を設定します。
調べてて知ったのですが
公式でも最初にすべきことは「ユーザ名とEmailアドレスを設定すること」 と書いてあるんですね
Gitをインストールしたときに最初にすべきことは、ユーザー名とEmailアドレスを設定することです。
全てのGitのコミットはこの情報を用いるため、これは重要で、作成するコミットに永続的に焼き付けられます
Git - 最初のGitの構成 より引用
ちなみにuser.name
とuser.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
[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で設定している名前が表示されます。
また、メールアドレスに紐付くアカウントがコミットした、と認識されるようです。