LoginSignup
5
5

More than 5 years have passed since last update.

git configでユーザー情報を設定してもmagitで参照できない問題

Posted at

WindowsでのEmacsホームディレクトリ

ちょっとハマったのでメモがてら。WindowsでEmacsを使う場合、.emacs.dを読み込む位置はホームディレクトリになるのですが、ほかのOSと違い、Windowsの場合は

  • $HOMEが設定されてる場合はその場所
  • レジストリに切られている場合はその場所
  • AppData/Roaming配下

上位から優先順位でこうなります。Windowsの場合はデフォルトで切られている環境変数はHOMEPATHでありHOMEではありません。なのでHOMEが無いと自動的にUsers/foo/AppData/Roaming配下がEmacsでのホームディレクトリになります。つまりここから.emacs.dを読みに行きます。

gitconfigの値

で、何にハマったかといえば、gitで

git config --global user.email "foo@bar.com"
git config --global user.name "Foo Bar"

と設定すればcommit時のauthor情報として認識してくれる訳ですが、git bashのHOMEは大体の場合はUsers/fooになってるわけです。つまり.gitconfigが置かれる場所はUsers/fooになるわけです。

…なんとなくわかりましたか?Emacsが参照するホームディレクトリとgit bashが参照するホームディレクトリが違うため、git configを設定してもmagitでauthor情報が参照できずに

unable to auto-detect email address

と怒られてしまうのです。でもgit config --listみてもちゃんと設定されている。あれ?あれあれ?となるわけですね。これで1時間費やしました。最終的には

  • 環境変数でHOMEを切って.emacs.dを移動させる
  • .gitconfigをAppData/Roamingに移動する

のどちらかですけど、通常はHOMEを設定して.emacs.dを移動させたほうがいいでしょう。

Windowsの環境変数

まあちゃんとHOMEを設定しとけよ!という話なんですけど、ついつい忘れがちで意外とハマりそうです。ちなみにWindowsでの環境変数設定はRapid Environment Editorというソフトウェアが非常に便利でおすすめです。

5
5
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
5
5