Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,014)  
HandBrake Japanese Language Version  (2,964)  
CrystalDiskInfo  (1,714)  
Boookends  (1,269)  
CrystalDiskMark  (874)  
Tera Term  (825)  
CotEditor  (626)  
FFFTP  (593)  
えこでこツール  (532)  
10  ffdshow  (524)  
11  SMPlayer  (503)  
12  Cabos  (492)  
13  ギコナビ  (475)  
14  Rappelz Server  (471)  
15  MergeDoc  (457)  
More >>

最近ブックマークされた記事

WindowsでのGit環境構築とその注意点

2009年02月13日 12:00 松島浩道 1 2 3 4 5

文字コード関連の設定

 Windows環境でGitを利用する際、問題になるのが日本語などマルチバイト文字の扱いだ。Windows環境では通常、日本語の文字コードとしてShift JIS(CP932)が利用されている。いっぽう、Gitではマルチバイト文字の文字コードとしてUTF-8を利用することが推奨されているようだ。また、ファイル名に関してもWindows環境ではCP932が、Mac OS Xを含むUNIX/LinuxではUTF-8(もしくはEUC-JP)が採用されていることが多いため、たとえば日本語のファイル名を持つファイルをWindows環境でコミットした場合、UNIX環境ではファイル名が文字化けしてしまう。

現状ファイル名については、日本語を使わないという解決策しかない。いっぽう、もしコミットメッセージに日本語を利用したい場合は次のような設定を行うとよい。

・msysgitを利用している場合

 デフォルトの設定ではコミットメッセージの編集にvi(vim)、ログなどの表示にlessを使用するようになっているが、msysgitに付属するvimやlessはマルチバイト文字の表示/入力を正しく行えない。この問題は、これらを適切なものに置き換えることで解決できる。作業手順は下記の通りだ。

1. 日本語対応のlessおよび文字コード変換ツールnkfをインストールする

 マルチバイト文字に対応している最新版のlessをダウンロードし、msysgitのインストールディレクトリ内の「bin」フォルダ(通常はC:\Program Files\Git\bin)にコピーする。

 最新版lessのWindows用バイナリは、lessホームページからダウンロードできる。バイナリアーカイブ(原稿執筆時の最新版はless418w.zip)に含まれる「less.exe」を上記のフォルダにコピーすればよい。

 また、nkfについては http://www.asuka.cx/software/nkf/ の「ファイル置き場」にWindows用バイナリが公開されているので、こちら(原稿執筆時の最新版はnkf-2.0.8b.bin.tar.gz)をダウンロードし、含まれる「nkf.exe」を先ほどの「less.exe」と同様msysgitのインストールディレクトリ内の「bin」フォルダにコピーする。

2. Git Bashで日本語を表示できるように設定ファイル(inputrc)を用意する

 msysgitのインストールディレクトリ(通常はC:\Program Files\Git)以下の「etc」フォルダ内にテキストエディタで「inputrc」というファイルを作成し、下記のように入力して保存する。

set convert-meta off
set meta-flag on
set output-meta on
set kanji-code utf-8
3. Gitが使用するエディタ/ページャを環境変数で指定する(設定ファイルprofileを編集)

 先ほど「inputrc」を作成したフォルダにある「profile」という設定ファイルの末尾に、下記の行を追加する。

export GIT_EDITOR="'<使用するテキストエディタのパス>'"
export GIT_PAGER="nkf -s | less"

 このとき、テキストエディタのパス中の「\」は「/」に、「C:」は「/c」に置き換えて指定する。たとえば「C:\Program Files\xyzzy/xyzzy.exe」というエディタを使用したい場合は次のように指定する。

export GIT_EDITOR="'/c/Program Files/xyzzy/xyzzy.exe'"

 これで、コミットメッセージの編集を指定したテキストエディタで行えるようになる。なお、日本語のコミットメッセージを入力する際はUTF-8(UTF-8N)で保存しなければならない点に注意してほしい。

・Cygwinを利用している場合

 Cygwinに含まれるBashやvimはデフォルトでマルチバイト文字の入力・表示に対応している。ただし、CygwinのコンソールはWindowsのコマンドプロンプトと同様、文字コードとしてShift JIS(CP932)を利用しているため、若干の設定が必要である。なお、下記ではエディタにvim、ページャにlvを使用している。これらはともにCygwinのインストーラからインストール可能なので、事前にインストールしておこう。

1. vimの設定ファイルの編集

 vimの個人設定ファイル「~/.vimrc」に、下記の設定を追加する。

set termencoding=cp932
set encoding=utf-8
2. Gitが使用するエディタ/ページャを環境変数で指定する

 「~/.bashrc」に、下記の設定を追加する。

export GIT_PAGER="lv"
export GIT_EDITOR="vim"

 なお、日本語入力のOn/Off切り替えはAlt+半角/全角キー(英語キーボードの場合はAlt+`)で行える。

UTF-8に対応した端末エミュレータ「Poderosa」を使う

 Cygwin版のGitを利用する場合、端末エミュレータとして標準の「Cygwin Bash Shell」ではなく、Poderosaを利用すると便利だ。Poderosaはツールバーで使用する文字コードを切り替えられるので、Gitを利用する場合はこれを「utf-8」に設定すればよい。

図5 UTF-8に対応した端末エミュレータ「Poderosa」
図5 UTF-8に対応した端末エミュレータ「Poderosa」

 なお、Poderosaの文字コードを「utf-8」で使用する場合は、~/.vimrcおよび~/.bashrcを下記のように設定しよう。

~/.vimrcの設定:
set termencoding=utf-8
set encoding=utf-8
~/.bashrcの設定:
export GIT_PAGER="lv -Ou8"
export GIT_EDITOR="vim"
最終更新:2009年11月06日 17:36