somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【git】msysgit1.8とTortiseGit【UTF-8】

すでにインストールしていますが、どちらもUTF-8対応する前のものでしたので、入れ替えてみました。

インストール

それぞれをアンインストールしてから、ダウンロードしてインストールしましょう。

今回ダウンロードしたものは以下のとおりです。

  • Git-1.7.11-preview20120710.exe
  • TortoiseGit-1.7.14.0-32bit.msi

あわせて、TortoiseGit-LanguagePack-1.7.14.0-32bit-ja.msiもインストールしました。前回は、日本語化できなかたのですが今回はできました。ただ、コマンドが日本語化されてしまって何がなんだか分からないときがあります・・・・。

確認

日本語ファイルおよび日本語コミットメッセージで確認します。ここがとても詳しいです(UTF-8 対応の msysGit 1.7.10 リリース! いよいよ Windows で git できるよ!!! - てっく煮ブログ)

日本語ファイルの表示は、そのままでは文字化けしていました。以下のコマンドを実行します。

git config --global core.quotepath off

参考サイトでも書いてありますが、これだけではダメでした。lessを通すと文字化けが解消される理由は、C:\Program Files\Git\etcのprofileに以下の記述があるためです。

# set default options for 'less'
export LESS=-FRSX
export LESSCHARSET=utf-8

UTF-8指定になっていました。もう1つの解決法である以下もこのファイルに記述すれば問題ありませんでした。$HOMEやetcの直下に.bashrcで試しても動きませんでした。

alias ls='ls --show-control-chars'
#alias ls='ls --color=auto --show-control-chars'
alias ll='ls -l'

カラー指定を省いている理由は、以下のエラーが出やすくなるためです。どうやら、情報が多くなるとダメなようです。ファイルの少ないディレクトリで試すと問題なく動きます。これは、今回のaliasに限らず発生しました。

$ ls -l
      0 [main] ls 3544 open_stackdumpfile: Dumping stack trace to ls.exe.stackdump
Segmentation fault (core dumped)

コミットメッセージは問題ありませんでした。しかし、bashからの日本語入力はできなかったので、TortiseGit経由での入力としました。一通り問題なかったです。

msysGit-netinstall-1.8.0-preview20121022.exe

実は、1.7.11をインストールする前にこちらをインストールしていました。以下、1.7系と異なることです。

  • デフォルトインストールディレクトリがC直下のmsysgit
  • インストールされるものは、gitで管理されている
  • 右クリックコンテキストメニューにgit xxがない!

1つ目は、TortiseGitが想定しているディレクトリと違います。そのため、最初は動きませんがパスを変えれば問題なく動きます。

2つ目は、githubで管理されているようなので、ちょっと時間がかかります。

3つ目は、そのままです。これがなかったので1.7.11に変更しました。git bashは、C:\msysgit\msys.batを実行することで起動できます。ただし、実行したディレクトリが基点となりますので移動しなくてはなりません。原因は、bat内部で、--login -iを使っているためです。これを利用して、右クリックメニューにbatを実行するメニューを追加すればいいわけです。追加するには、レジストリを修正する必要があるみたいです。

参考