2017-02-10 4 views
1

У меня есть локальная копия удаленного репозитория git. Каждый раз, когда я выполняю «статус» GIT, я получаю эту ошибку:git status: bad filename приводит к ошибке «protocol error»

git status 
public/app.chart/license/Creative Commons�� Attribution-NonCommercial-ShareAlike 4.0 International�� CC BY-NC-SA 4.0.pdf: Protocol error 
On branch master 
Your branch is up-to-date with 'origin/master'. 

Указанный файл не существует в хранилище. Когда я переключаюсь ветви, я получаю сообщение:

git checkout test_branch 
D "public/app.chart/license/Creative Commons\200\224 Attribution-NonCommercial-ShareAlike 4.0 International\200\224 CC BY-NC-SA 4.0.pdf" 
Switched to branch 'test_branch' 

Есть ли способ решить эту проблему?

+0

Это ясно как из 'мерзавца status' и' мерзавец checkout', что этот файл * делает * существует в репозитории. Он просто не существует в дереве * work *, предположительно потому, что ОС отклоняет имя пути. Вы на MacOS? Какая версия Git у вас есть? – torek

ответ

1

Try и посмотреть, если проблема не устранена после того, как:

cd /path/to/my/local/repo 
git config core.quotepath false 

От git config man page:

If this variable is set to false, the bytes higher than 0x80 are not quoted but output as verbatim.

+0

Кажется, не имеет значения, но спасибо за помощь :-) – Ledazinha

+1

@ Ledazinha OK. Какую версию Git вы используете? и на какой ОС? – VonC

+0

Версия Git - 2.7.4. ОС - Ubuntu 16.04 xenial; Ядро - x86_64 Linux 4.4.0-42-generic. – Ledazinha