Git Pull прервана с ошибкой имя файла слишком долго

Я использую Windows в качестве своей ОС и работаю над проектом с другом, который использует Mac. Он зарегистрировался в коде нашего Github.

Я пытался убрать все, что он сделал, и он прервался с ошибками "слишком длинное имя файла" стороннего кода.

Что я могу сделать?

6 ответов

Часто задаваемые вопросы по msysgit в Git не могут создать файловый каталог с длинным путем, который кажется устаревшим, так как он все еще ссылается на старый билет msysgit # 110. Однако, согласно более позднему билету #122 проблема была исправлена ​​в msysgit 1.9, таким образом:

  1. Обновление до msysgit 1.9 (или позже)
  2. Запустить Git Bash
  3. Получил ваш репозиторий Git, который "страдает" от проблемы длинных путей
  4. Включить поддержку длинных путей с 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 символов.

Другие вопросы по тегам