2012-08-15 13 views
11

W moim repozytorium Git, jest akcentowane pliki jako éíóúàèìòùãõ_800x600.jpg, ale po dokonaniu klon, nie mogę ciągnąć, ponieważ plik pojawia się jako zmodyfikowana :Jak obsługiwać znaki akcentowane w nazwach plików w Git na Mac OS X przekształcany do Unicode

$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" 

Nadal nie mogę dodać, usunąć lub schować przywrócić plik.

Próbowałem:

$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" 

Jak obchodzić się z akcentowanych pliki konwertowane do Unicode?

+0

Wszystko, co mogę zasugerować jest „nie używaj HFS +”, ponieważ przechowuje znaki akcentowane inaczej. –

Odpowiedz

12

trzeba ustawić opcję core.precomposeunicode true na komputerach Mac i ponownie sklonować repozytorium.

git config --global core.precomposeunicode true 

Jak opisano w git config man page opcja jest związana z konkretnym rozkładem znaków Unicode w systemie Mac OS:

Ta opcja jest używana tylko przez realizację Mac OS git. Kiedy core.precomposeunicode = true, git przywraca dekodowanie plików w Unicode przez Mac OS. Jest to przydatne przy współdzieleniu repozytorium między Mac OS a Linuksem lub Windows. (Potrzebny jest Git dla Windows w wersji 1.7.10 lub wyższej lub git pod cygwin 1.7). Kiedy false, nazwy plików są w pełni przezroczyste przez git, który jest wstecznie kompatybilny ze starszymi wersjami git.

Strona man nie wskazuje, że opcja ta nie działa wstecz w repozytorium, działa tylko w repozytoriach sklonowanych później.

referencyjny: Answer by Leo Koppelkamm in "Git and the Umlaut problem on Mac OS X"

Powiązane problemy