以前のエントリに書いたやり方*1はコミットメッセージを編集するエディタの文字コードを utf-8 にしてやるという物でしたので、git commit -m "ほげほげ" というのは相変わらず文字化けしてしまうという問題を残してました。
1行のログだけでいい場合には、-mでちゃちゃっとコミットしたいのに、使えないのでエディタからログを入力する必要があり、これが以外とめんどくさいなぁと常々思っていました。
「入門Git」を読んでて、commit-msg フックを使えばもっと簡単に日本語でのログ入力に対応出来そうなので試してみました。
前提
- git bash から日本語のログを文字化けせずに見るためには、「Gitでの日本語表示対応(msysgit編) - タイトルは未定」の設定を行っておく必要があります
- nkf がインストールされている必要があります。よくわからない場合は、上のエントリを参照して下さい
commit-msg の作成
.git\hooks に commit-msg を作成します。
中身を以下の様に編集します。
#!/bin/sh mv $1 $1.tmp nkf -w $1.tmp > $1 rm $1.tmp
commit-msg に実行権限が付いていることを確認して、付いていなければ実行権限を付けておきます*2。
試してみる
適当なファイルを作ってコミットしてみます。
nakaji@PC01 /d/Work/myproject (master) $ git add howtocommitjapaneselog.txt nakaji@PC01 /d/Work/myproject (master) $ git commit -m "ほげほげ" [master dab0ce3] 縺サ縺偵⊇縺 1 files changed, 20 insertions(+), 0 deletions(-) create mode 100644 howtocommitjapaneselog.txt nakaji@PC01 /d/Work/myproject (master) $ git log -1 commit dab0ce3d40e244e135af7c7b60d7e68d6cb77a27 Author: nakaji <nakaji129@gmail.com> Date: Sun Dec 13 08:24:17 2009 +0900 ほげほげ