1. 背景
gitのデフォルトだと日本語ファイル名が表示されません。
たとえば。
ファイルリストだと以下のように日本語のファイル.md
が表示されます。
$ ll
合計 12
drwxrwxr-x 3 yamadatt yamadatt 4096 5月 6 11:46 ./
drwxrwxr-x 22 yamadatt yamadatt 4096 5月 6 11:45 ../
drwxrwxr-x 7 yamadatt yamadatt 4096 5月 6 11:46 .git/
-rw-rw-r-- 1 yamadatt yamadatt 0 5月 6 11:46 日本語のファイル.md
しかし、git
だと表示されないのです。以下のようにエスケープしたような表示になります。
$ git status
ブランチ master
No commits yet
追跡されていないファイル:
(use "git add <file>..." to include in what will be committed)
"\346\227\245\346\234\254\350\252\236\343\201\256\343\203\225\343\202\241\343\202\244\343\203\253.md"
nothing added to commit but untracked files present (use "git add" to track)
2. 対応
configを変更して対応します。
このリポジトリだけ日本語表示したいので、--local
を付与して以下のコマンドを入れます。
git config --local core.quotepath false
そうすると、期待したとおりに日本語が表示されます。
$ git status
ブランチ master
No commits yet
追跡されていないファイル:
(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)
これを使用すれば、以下のようにパイプで他のコマンドに渡すことができます。
git diff --name-only | xargs -n1 ./blogsync push