Problema al clonar un proyecto con git en windows error : Filename too long
error: unable to create file Filename too long
Al clonar un repositorio en windows 10 , con el comando git clone me sale este mensaje de error:
error: unable to create file Filename too long
Updating files: 100% (17811/17811), done.
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 :/'
Sucede debido a una limitación general de Windows solo reconoce, por defecto, la longitud de las rutas hasta 260 caracteres.
Solución 1 - Configurar manualmente el archivo <gitconfig>
Busca en Windows la ruta de instalación de git:
C:\Program Files\Git\etc
Localiza el archivo que se llama gitconfig el cual tiene una estructura como la siguiente:
[diff "astextplain"]
textconv = astextplain
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[http]
sslBackend = openssl
sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
[core]
autocrlf = true
fscache = true
symlinks = false
longpaths = false
[pull]
rebase = false
[credential]
helper = manager-core
[credential "https://dev.azure.com"]
useHttpPath = true
[init]
defaultBranch = master
La parte que nos interesa modificar a nivel de core se llama longpaths, por defecto se encuentra a false lo podemos cambiar aquí de forma manual a true y guardar los cambios.
longpaths = true
Solución 2 - Configurar el archivo <gitconfig> desde la consola
Una forma para que git reconozca las rutas largas es (Como administrador):
git config --system core.longpaths true
Si es solo para clonar el repositorio, sin afectar la configuración general de git
git clone -c core.longpaths=true <repo-url>
Nota importante : Recuerda de dar permisos de control total y modificar a la carpeta etc que se encuentra dentro de la ruta C:\Program Files\Git\etc ...ver el video en la parte superior
Solución 3 - Editando el registro de windows para que reconosca rutas largas
Para que Windows 10 reconozca las rutas largas permanentemente, debemos hacer uso del editor de registro (regedit)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem -> LongPathsEnabled: 1
Referencia: