Git Pull прервана с ошибкой имя файла слишком долго
Я использую Windows в качестве своей ОС и работаю над проектом с другом, который использует Mac. Он зарегистрировался в коде нашего Github.
Я пытался убрать все, что он сделал, и он прервался с ошибками "слишком длинное имя файла" стороннего кода.
Что я могу сделать?
6 ответов
Часто задаваемые вопросы по msysgit в Git не могут создать файловый каталог с длинным путем, который кажется устаревшим, так как он все еще ссылается на старый билет msysgit # 110. Однако, согласно более позднему билету #122 проблема была исправлена в msysgit 1.9, таким образом:
- Обновление до msysgit 1.9 (или позже)
- Запустить Git Bash
- Получил ваш репозиторий Git, который "страдает" от проблемы длинных путей
- Включить поддержку длинных путей с
git config core.longpaths true
Пока это работает для меня очень хорошо.
Будьте в курсе важного уведомления в комментарии к билету № 122
не возвращайтесь сюда и не жалуйтесь, что он ломает Windows Explorer, cmd.exe, bash или любые другие инструменты, которые вы используете.
Solution1 - установить глобальную конфигурацию, выполнив эту команду:
git config --system core.longpaths true
Solution2 - или вы можете отредактировать свой конкретный файл конфигурации git, как показано ниже:
YourRepoFolder ->.git -> config:
[core]
repositoryformatversion = 0
filemode = false
...
longpaths = true <-- (add this line under core section)
Решение3 - при клонировании нового хранилища: здесь.
Несколько лет спустя, но я хотел бы добавить, что если вам нужно сделать это одним махом (как я), вы можете установить параметры конфигурации во время команды клонирования. Попробуй это:
git clone -c core.longpaths=true <your.url.here>
Откройте файл your.gitconfig, чтобы добавить свойство longpaths. Так это будет выглядеть следующим образом:
[core]
symlinks = false
autocrlf = true
longpaths = true
В Windows запустите "cmd " от имени администратора и выполните команду.
"C:\Program Files\Git\mingw64\etc>"
"git config --system core.longpaths true"
или вы должны использовать chmod для папки, где установлен git.
или вручную обновите файл, перейдя по пути "Git\mingw64\etc"
[http]
sslBackend = schannel
[diff "astextplain"]
textconv = astextplain
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[credential]
helper = manager
**[core]
longpaths = true**
Поскольку кто-то постоянно сталкивался с этой проблемой с помощью репозиториев Java в Windows, лучшим решением будет установить Cygwin ( https://www.cygwin.com/) и использовать его установку git в разделе all > devel > git.
Причина, по которой это лучшее решение, с которым я столкнулся, заключается в том, что Cygwin управляет длинными именами путей, так что другие предоставленные команды выигрывают. Пример: найти, ср и рм. Поверьте мне, настоящая проблема начинается с того, что вам нужно удалить слишком длинные пути в Windows.
Постарайтесь, чтобы ваши файлы были ближе к корню файловой системы. Более подробная информация: по техническим причинам Git для Windows не может создавать файлы или каталоги, если абсолютный путь превышает 260 символов.