12

私の Git リポジトリには éíóúàèìòùãõ_800x600.jpg としてアクセント付きのファイルがありますが、クローンを作成した後、ファイルが変更されたように見えるため、プルできません。

$git clone [...]
done

$git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   "a\314\201e\314\201i\314\201o\314\201u\314\201a\314\200e\314\200i\314\200o\314\200u\314\200a\314\203o\314\203_800x600.jpg"

それでも、ファイルを追加、削除、リセット、または隠しておくことはできません。

私は試した:

$git add a\314\201e\314\201i\314\201o\314\201u\314\201a\314\200e\314\200i\314\200o\314\200u\314\200a\314\203o\314\203_800x600.jpg
fatal: pathspec 'a314201e314201i314201o314201u314201a314200e314200i314200o314200u314200a314203o314203_800x600.jpg' did not match any files

$git stash
No local changes to save

$git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   "a\314\201e\314\201i\314\201o\314\201u\314\201a\314\200e\314\200i\314\200o\314\200u\314\200a\314\203o\314\203_800x600.jpg"

ユニコードに変換されたアクセント付きファイルをどのように処理しますか?

4

2 に答える 2

14

Mac で core.precomposeunicode オプションを true に設定し、リポジトリを再度複製する必要があります。

git config --global core.precomposeunicode true

git config man pageで説明されているように、このオプションは Mac OS での Unicode 文字の特定の分解に関連しています。

このオプションは、git の Mac OS 実装でのみ使用されます。core.precomposeunicode=true の場合、git は Mac OS によって行われたファイル名の Unicode 分解を元に戻します。これは、Mac OS と Linux または Windows の間でリポジトリを共有する場合に便利です。(Git for Windows 1.7.10 以降、または git for cygwin 1.7 が必要です)。false の場合、ファイル名は git によって完全に透過的に処理され、以前のバージョンの git と下位互換性があります。

man ページが示していないのは、このオプションがリポジトリにさかのぼって影響を与えることはなく、後でクローンされたリポジトリでのみ有効になるということです。

参考: 「Mac OS X での Git とウムラウトの問題」の Leo Koppelkamm による回答

于 2013-12-12T18:11:07.293 に答える
1

OS X の Git でファイル名のアジア文字を処理する方法

于 2012-08-15T12:38:32.267 に答える