by shigemk2

当面は技術的なことしか書かない

git diffとかgit logとかでどうにかしようとしたけどどうにもならなかった話

諸リンク

http://d.hatena.ne.jp/qooh0/20120620/1340156613:titie

Shift-JISのテキストファイルに含まれる日本語のgit diffを文字化けせずに見る方法 | be free

CentOS6でlvインストール パソコン鳥のブログ/ウェブリブログ

CentOS6.4 - CentOS 6系 で lv を使う方法 - Qiita

uu59のメモ | gitリポジトリ内にいろんな文字コードのファイルが混在しててもgit diffで文字化けさせずに表示する

git logのオプションあれこれ - 煙と消えるその前に

git logやgit diffで文字化け

結論をいうと、うまくいかなかったり、なんか我慢しないといけなかったりでしんどい。

ターミナルの文字コードがUTF-8で、ソースコードの文字コードがEUC-JPだったりSHIFT-JISだったりしたとき、git logやgit diffで文字化けを起こす。

これをどうにかするためにどうにかしようとした。

  1. pagerをlvにする
git config --global core.pager "lv -c"

あまりうまくいかなかった。

  1. git log や git diffの結果をパイプしてnkfでつなぐ
git diff | nkf -Lu

これはうまくいってはいるけど、color.uiをtrueにしてもnkfでつないじゃったら 一色になってしまうし、git logは際限なく表示されてしまうので、微妙に、というか 普通に不便。