Git日本語対応備忘録

※2012/4/12追記

UTF-8対応版のGitが正式にリリースされたので、この記事の手順は基本的に不要になります。
詳しくはこちらをどうぞ。
Git-1.7.10-preview20120409.exe のGit Bashで日本語入力する方法

久々にGit環境作ったら日本語対応方法を忘れていたので、自分のためにメモ。

Gitのインストール

UTF-8ファイル名対応版 Git for Windowsからダウンロードし、msysGitをインストールします。

まずは日本語を扱えるようにする

Gitのインストールが終わったら、次にGit Bashで日本語が扱えるようにしましょう。

  1. nkfのダウンロード、インストール
    nkf.exe nkf32.dll Windows用の詳細情報 : Vector ソフトを探す!などからnkf.exeをダウンロードし、%ProgramFiles%\Git\binにコピーします。
  2. 日本語対応lessのダウンロード、インストール
    Git付属のlessはUTF-8に対応していないようなので、Windows版less UTF-8対応版バイナリー配布 | twk @ ふらっとなどからUTF-8対応済みのless.exeをダウンロードし、%ProgramFiles%\Git\binに上書きコピーします。
  3. pagerの変更
    %ProgramFiles%\Git\etc\profileファイルを開き、以下の記述を追加します。
    export GIT_PAGER=”nkf -s | LESSCHARSET=utf-8 less”
    以下のコマンドを実行し、pagerを変更します。

    git config --global core.pager "nkf -s | LESSCHARSET=utf-8 less"

    (@bleisさんからTwitterで指摘されたので変更)

  4. git status、git diffで日本語ファイル名が表示されるようにする
    そのままでは日本語ファイル名が”\343\201\246\343\201\231\343\201\250”のような数値コードで表示されてしまいます。以下のコマンドを実行することで、正しく”てすと”と表示されるようになります。

    git config --global core.quotepath false

lsなどのbashコマンドで日本語が扱えるようにする

そのままだと、lsなどのコマンドで表示される日本語ファイル名が化けてしまうので、%ProgramFiles%\Git\etc\profileファイルに、さらに%USERPROFILE%フォルダに”.bashrc”ファイルを作成し、以下の記述を追加します。(@bleisさんからTwitterで指摘されたので変更)

export JLESSCHARSET=japanese-sjis
alias ls='ls --show-control-chars'

なお、”.bashrc”というファイル名は、エクスプローラーのコンテキストメニューの[新規作成]-[テキスト文書]で作成して名前を変えようとしても、

ファイル名先頭のドットや全角空白を含む名前の変更はやり直しできません。

というエラーとなってしまいますので注意が必要です。

一番簡単に作るにはGit Bash上で以下のコマンドを打ちましょう。

cd ~
touch .bashrc

(やはり@bleisさんにTwitterで指摘されたので追記)

エディターの既定のエンコーディングをUTF-8にする

最後に、コミットメッセージをUTF-8で入力するため、使用するエディターの既定のエンコーディングをUTF-8にします。

秀丸を使用するのであれば、次のようなコマンドを打ち、/fu8オプション付きで秀丸を起動するように設定します。

git config --global core.editor "'C:/Program Files/Hidemaru/Hidemaru.exe' //fu8"

課題

  • gitkではUTF-8な日本語が化けてしまう
    • 解決策をご存知の方は教えていただけると助かります<(_ _)>
広告

Git日本語対応備忘録」への2件のフィードバック

  1. ピンバック: .NET Clips

  2. ピンバック: UTF-8対応版msysGitの問題点 « be free

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中