Клон Git не работает из-за неправильного пути к файлу

Проблема

Git клонирует репозиторий на компьютере с Windows 10 и выдает эту ошибку:

ошибка: неверный путь 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'

фатально: невозможно проверить рабочее дерево

предупреждение: Клонирование выполнено успешно, но проверка не удалась.

>git clone https://github.com/mirumee/saleor.git
Cloning into 'saleor'...
remote: Enumerating objects: 187180, done.
remote: Counting objects: 100% (289/289), done.
remote: Compressing objects: 100% (225/225), done.
remote: Total 187180 (delta 136), reused 131 (delta 64), pack-reused 186891
Receiving objects: 100% (187180/187180), 105.28 MiB | 234.00 KiB/s, done.
Resolving deltas: 100% (137187/137187), done.
error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Пытался

Я пробовал этот подход, но он не работал на последний шаг:

$ git init saleor
$ cd saleor
$ git remote add origin https://gitzzz.com/yyy/saleor.git -f

Пока все хорошо, но эта команда выдает ошибку:

$ git checkout origin/master -f
error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'

Пытался

Кроме того, этот подход не помог.

Вопрос

Как я могу клонировать/проверить этот репозиторий в Windows?

Решение

Вариант, предложенный @bk2204, решил проблему:

  1. Разветвить репозиторий
  2. Клонировать форк в Linux
  3. Измените имена путей в Linux
  4. Подтвердить и нажать
  5. Затем проверьте фиксированную вилку в Windows.

person user3405291    schedule 07.06.2021    source источник


Ответы (1)


Проблема здесь в том, что путь содержит как двоеточие, так и вопросительные знаки, и вы, вероятно, работаете в системе Windows. Windows приняла сознательное решение не разрешать использование этих символов в именах путей, поэтому проверить этот файл там невозможно.

У вас есть несколько вариантов:

  • Используйте другую операционную систему, например macOS или Linux.
  • Проверьте файл с помощью подсистемы Windows для Linux, которая не страдает от этих ограничений.
  • Попросите ответственную за репозиторий сторону изменить имя пути или сделать это самостоятельно в другой среде, а затем проверьте исправленное репо.
  • Попросите Microsoft исправить эту проблему.
  • Не используйте это репо.
person bk2204    schedule 07.06.2021
comment
Хорошо =) Но есть ли способ изменить неверные пути к файлам внутри каталога .git? Что-то вроде взлома папки .git? - person user3405291; 08.06.2021
comment
Я попробую это предложение: ... to change the path name ... in another environment, then check out the fixed repo. - person user3405291; 08.06.2021