ロゴテキスト ロゴ

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

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

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

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

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

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

    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設定を行わないとコミット時に警告が表示されます

    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
    ~/.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が表示されます

    tigでのコミットの表示

    GitHubの場合

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

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

    GitHubでのコミットの表示
    プロフィールの背景画像 プロフィール画像
    Yuki Takara
    都内でフリーランスのエンジニアをやってます。フロントとアプリ開発メインに幅広くやってます。