補足:2014/02/12 MsysGitのwikiのURLが変更されているので、内容含めて見直しました。
Unicode対応したGit For Windowsで必要な設定、周辺ツールについて以下にまとめられています。
英語ですし、図があった方が分かりやすい部分もあるので、超訳しつつ再度まとめてみます。
Git For Windowsでの問題点
Unicode対応したのは、Git For Windows 1.7.10以降です。
現状以下の問題点が目立っています。
- MSYSでの問題
bashで多言語入力ができない。日本人であれば漢字が入力できない。(元のwikiでも修正されていないが、1.8.4以降は入力可能 2014/02/12)- lsでASCIIでない文字が文字化けする。(ただしこれは修正可能)
- TclがUNICODEのBMPにしか対応しない。具体的にはGit GUIなどでJIS 2004文字のような非BMP文字(UTF-16でサロゲートペアになる文字)で表示がおかしくなる可能性がある。
TortoiseGitのバージョン
Unicode対応しているのは1.7.9以降です。(http://code.google.com/p/tortoisegit/downloads/)
Git Extensionsの設定変更
GitExtensionsのSettingで以下の赤枠の部分、エンコードの設定を明示的にUTF-8に設定します。
Git Source Control Provider
Unicode対応しているのは0.9.4以降です。(http://gitscc.codeplex.com/releases/view/46589)
エディター
Commitコメントなどの入力に標準のVim以外を使用したい場合には、Gitが対応する改行コードはLFのみ、テキストのエンコードはBOM無しのUTF-8であるので、その両方に対応していないメモ帳(notepad.exe)は不適切。
Windowsの設定
リンク先側ではConsolasにしろと書かれているが、日本語版(というかcp932)のコンソールではどうしようもないので、MSゴシックを選択しておく。レジストリで豪快に変更する方法はあるようなので、変更されたい各位は検索されたし。Console2のようなサードパーティのコンソールツールを使用するのも一つの方法です。
ファイル名のエスケープ表示の除外
Gitは標準で非ASCIIな文字がコンソール出力に使われていると\xxxxとエスケープ表示します。これをしないように、これをOFFする必要があります。
git config [--global] core.quotepath off
コミットメッセージなどでの文字コード変換の停止
1.7.10以前からGit For Windowsを使用している場合、コミットメッセージやログ表示のについてエンコードの指定をローカルのロケールにに合わせるよう設定している場合があると思いますが、Unicode対応後はこれをオフにしておく必要があります。
git config [--global] --unset i18n.logoutputencoding git config [--global] --unset i18n.commitencoding
SubVersionリポジトリへの保存時のファイル名文字コード変換の停止
SubVersionはもともとUTF-8のファイル名しかサポートしていないので、Unicode対応版では文字コード変換は必要ない。
git config [--global] --unset svn.pathnameencoding
とりあえずクライアントサイドで行う内容は以上です。
レポジトリのマイグレーションにつきましては、申し訳ありませんが最初のリンク先をご確認ください。
コメント
Shotaro Suzuki liked this on Facebook.