Windows上に構築したgitに初期設定を行います
具体的には個人の識別情報の設定とファイル名の文字化けを防ぐ対策を行います
なお、個人の識別情報については、GitBash上で行う設定とSourceTreeを使った同等の設定について記載します
このページでは、Windows上に構築したgit環境に対して初期設定を行います
git設定ファイルの構成について
gitには以下のレベルの設定ファイルがあります。
- system設定
[gitインストール先]\etc\gitconfig ※Linuxの場合だと、/etc/gitconfig
- global設定
C:\Users\$USER\.gitconfig 又は C:\Documents and Settings\$USER\.gitconfig ※Linuxの場合だと、${HOME}/.gitconfig
- リポジトリ設定
gitリポジトリ\.git\config
リポジトリ > global > system の優先で設定値が採用されます
例えば、同一設定項目が リポジトリとglobalに設定されていた場合はリポジトリの設定値が優先されます
git status等で日本語ファイル名が化けるのを回避する
git statusコマンド等で日本語ファイル名が化ける場合がありますので、GitBash上から以下のコマンドを実行します。
$ git config --global core.quotepath false
これで日本語ファイル名も化けずに確認できる様になります。
個人の識別情報の設定
個人の識別情報を設定します。
この情報は、コミットする際のユーザ名となりますので必ず必要です
設定項目は
- ユーザ名([user]-[name])
- メールアドレス([user]-[email])
です。
global設定
global設定として個人の識別情報を設定します。
設定するには、GitBash上で以下を実行します
$ git config --global user.name "taro yamada" $ git config --global user.email taro.yamada@example.com
“–global”を指定しているのは、global設定に値を設定することを意味しています。
これで、現在Windowsにログインしているユーザでコミットした場合の個人の識別情報は”taro yamada”になります。
コマンドを実行した後の設定ファイル(C:\Users\$USER\.gitconfig)の内容は以下となります。
[user] name = taro yamada email = taro.yamada@example.com
※git configコマンドでなくても、ファイルをエディタ等で直接編集してもOKです
system設定
system設定として個人の識別情報を設定するには、global設定と同様、Git Bash上で以下を実行します。
$ git config --system user.name "taro yamada" $ git config --system user.email taro.yamada@example.com
system設定ですので、Windowsにログインしているすべてのユーザがこの値となります。
ただし、同時にglobal設定されているとglobal設定値の方が優先されます
リポジトリ設定
リポジトリ設定に設定する場合は、GitBashで、リポジトリのディレクトリに移動し、
$ git config user.name "taro yamada" $ git config user.email taro.yamada@example.com
と実行します
設定の確認
GitBash上で、以下のコマンドを実行することにより、設定内容が確認できます
$ git config --list user.name=taro yamada user.email=taro.yamada@example.com : : : : : :
SourceTreeで同様の設定をする
SourceTreeでglobal設定またはリポジトリ設定を行うこともできます
global設定
SourceTreeのメニュー [ツール]-[オプション]で以下の様にします。
- “SourceTreeにGitとMercurialのグローバル設定ファイルの変更を許可する” にチェックする
- フルネームとメールアドレスにそれぞれ設定する
これで、Git Bash上で実行したコマンドと同等の処理が行われます
リポジトリ設定
SourceTreeのメニュー [リポジトリ]-[リポジトリ設定]の[詳細]タブで以下の様にします。
- “グローバルユーザ設定を使う” のチェックを外す
- フルネームとメールアドレスにそれぞれ設定する
これで、Git Bash上で実行したコマンドと同等の処理が行われます
まとめ
git設定ファイルにはレベルがあることがわかりました。
通常は、globalに設定していれば問題はないかと思います。