Gitで日本語のコミットログを記入すると、以下の様な感じで叱られてしまいます。
$ git commit
Warning: commit message does not conform to UTF-8.
You may want to amend it after fixing the message, or set the config
variable i18n.commitencoding to the encoding your project uses.
[master cdc5059] 日本語設定する前のコミット
1 files changed, 2 insertions(+), 0 deletions(-)
一見、ちゃんとコミットログが登録されているように見えますが、git logしてみると文字化けが…
Git内部ではUTF-8で保存されているけど、WindowsのコマンドプロンプトはSJISというのが原因のようです。
WindowsでのGit環境構築とその注意点 - SourceForge.JP Magazine : オープンソースの話題満載を参考に設定してみましたので、その辺りをまとめておきます。
lessのインストール*1
日本語対応のlessを以下のサイトからダウンロードします。
Downloading less
ダウンロードしたファイルを解凍し、その中にある「less.exe」をC:\Program Files\Git\bin配下にコピーします。
※既にインストールされているものは日本語に対応していないので、気にせず上書きします。
nkfのインストール
nkf Network Kanji Filter for Win32 (自家用)
ダウンロードしたファイルを解凍し、その中にある「nkf.exe」をC:\Program Files\Git\bin配下にコピーします。
日本語ページャの設定
ログの表示
ここまでの設定で、以下の様に日本語で入力したログが表示されるようになりました。
commit cdc5059be03c38bf2a3c0a9412364feebd00370c
Author: nakaji
Date: Sun Nov 22 23:35:50 2009 +0900日本語設定する前のコミット
でも、このログって、UTF-8からSJIS変換された訳では無いんでしょうね。表示上、SJIS変換されたからきちんと表示されてるだけで、保存されている履歴は依然、Gitの想定外なんでしょうね。
だって、TortoiseGITや、GitGUIで見ると相変わらずログは化けてるもん…
ということで、次は日本語の入力についてまとめよう。
*1:lessは標準版でもOKでした