git status で日本語を表示する

Software Configuration Management (SCM)

git で日本語のファイルを扱っているときに git status でファイル名が文字コード表記されると分かりづらかったので、日本語で表示されるようにしてみました。

日本語で名前をつけたファイルを扱うリポジトリの作業フォルダーで git status を実行したところ、ファイル名が次のように文字コードで表示されました。

On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   "\351\226\213\345\202\254\350\250\230\351\214\262/yidev-21.md"
    deleted:    "\351\226\213\345\202\254\350\250\230\351\214\262/yidev21.pages"

これだと分かりにくかったので、これらのファイルを日本語で表示するようにしてみました。

ファイル名をそのまま日本語で表示

ファイル名をそのまま日本語で表示するには、ターミナルで次のコマンドを実行しておきます。

git config --global core.quotepath false

こうすることで、いつ git status を実行しても、日本語のファイル名がそのまま日本語で表示されるようになります。

On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   開催記録/yidev-21.md
    deleted:    開催記録/yidev21.pages

その時だけ日本語で表示したい場合

常に日本語で表示するのではなく、あるときだけ日本語で表示したい場合は -c オプションを使います。

git -c core.quotepath=false status

たとえばこのようにすることで、このときだけ日本語ファイル名をそのまま表示してもらうことができます。

逆に、いつもは日本語をそのまま表示するようにしておいて、コードで表示したい場合に -c オプションを添えて git -c core.quotepath=true status というように実行することも可能です。