11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git diffで日本語のファイル名が文字化けした時の対応方法

Posted at
  • 環境
    • macOS Catalina バージョン10.15.2
    • git version 2.21.0

事象 : git diffしたら日本語のファイル名が文字化けした

$ git diff --name-only --diff-filter=ACMRT 9744fd5 686a212
"GitDiff\343\201\247\346\226\207\345\255\227\345\214\226\343\201\221.md"

原因 : core.quotepathを設定していないから

git config に、quotepath = false ってのも書いておくと、ファイル名に、日本語が文字化けする(正確にはエスケープされる)のを、あっさりと解決してくれるようです。
git log、git diff、git showでの日本語の文字化けをまとめて対策 | WWWクリエイターズ

# core.quotepathの設定がない
$ git config --list | grep core
core.excludesfile=/Users/ponsuke/.gitignore_global
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true

対応 : 自分用の設定にcore.quotepathを設定する

私は日本人です。なので特定のリポジトリではなくて自分の設定全体(global)にcore.quotepathを設定します。

git の config 情報の設定は、3段階に分かれている。システム全体 system と、ユーザ全体 global と、対象リポジトリのみ local ですな。
gitconfig の基本を理解する - Qiita

# 設定して
$ git config --global core.quotepath false
# 確認してみる
$ git config --global --list | grep core
core.excludesfile=/Users/ponsuke/.gitignore_global
core.quotepath=false
# もう一回やってみる
$ git diff --name-only --diff-filter=ACMRT 9744fd5 686a212
GitDiffで文字化け.md
11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?