[小ネタ][git] 日本語ファイルの文字化けを回避する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

gitで日本語ファイルが文字化けする

こんばんは。小室です。gitを使っていて日本語のファイル名を入れるとファイル名の表示が崩壊するという経験をしました。
割と今までは放置していたのですが、きちんと日本語ファイル名を表示するコマンドを教えてもらったため、備忘録として記録しておきます。

若干人を小馬鹿にしたようなファイル名のファイルを配置したディレクトリをサンプルとして用意しました。

$ ls -la
total 8
drwxr-xr-x   4 komurohiraku  staff  136 Mar 25 19:09 .
drwxr-xr-x  22 komurohiraku  staff  748 Mar 25 19:08 ..
drwxr-xr-x  10 komurohiraku  staff  340 Mar 25 19:08 .git
-rw-r--r--   1 komurohiraku  staff   49 Mar 25 19:09 りーどみー.md

git statusで確認してみます。

$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	"\343\202\212\343\203\274\343\201\251\343\201\277\343\203\274.md"

nothing added to commit but untracked files present (use "git add" to track)

これは辛い。
一つのファイルとかならまだしも、日本語ファイル名のファイルがいくつもあると、どれがどれだかわからなくなるのは必至です。

日本語のファイル名を表示できるようにする

以下のコマンドを打ち込みます。

$ git config --local core.quotepath false

--localのオプションがついているため、このgitリポジトリのみの設定です。再度git statusしてみましょう。

$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	りーどみー.md

nothing added to commit but untracked files present (use "git add" to track)

日本語のファイル名が正常に表示されずに困っている自分のような人には、このコマンドをぶつけてあげてください。

全体に適用したい場合

--localではなく--globalをつければ良いようです。コマンドは以下のとおり。

$ git config --global core.quotepath false

以上、ウルトラ小ネタ備忘録でした。

参照