Dropbox interfiriendo con git push en el Subsistema de Windows para Linux.
Solo quiero documentar este problema, que surge de una incompatibilidad entre git y los servicios de sincronización en la nube. Se debe evitar almacenar repositorios en carpetas sincronizadas con Dropbox.
En una máquina con Windows 10 y Windows Subsystem for Linux, si el usuario tiene un repositorio git en un directorio gestionado por Dropbox, es posible que aparezca el siguiente error al intentar hacer “git push” de un commit reciente:
advertencia: no se puede desenlazar '/home/<local_repo>/repo/.git/refs/remotes/origin/main.lock': Permiso denegado
error: update_ref falló para la referencia 'refs/remotes/origin/main': no se pudo configurar 'refs/remotes/origin/main'
Además, en “git status” el repositorio parecerá estar por delante del remoto, incluso cuando el remoto haya sido actualizado:
$ git status
En la rama main
Tu rama está por delante de 'origin/main' en 1 commit.
(usa "git push" para publicar tus commits locales)
nada para hacer commit, árbol de trabajo limpio
Las siguientes “pushes” podrían dar un error de “File exists” (sin embargo, la confirmación se envía correctamente al remoto):
“`
$ git push
error: update_ref falló para la referencia 'refs/remotes/origin/main': no se puede bloquear la referencia 'refs/remotes/origin/main': No se puede crear '/home/<local_repo>/.git/refs/remotes/origin/main.lock': El archivo ya existe.
Es posible que otro proceso de git esté ejecutándose en este repositorio, por ejemplo,
un editor abierto por 'git commit'. Asegúrate de que todos los procesos
sean terminados y luego intenta nuevamente. Si aún falla, es posible que un proceso de git
se haya bloqueado anteriormente en este repositorio:
elimina el archivo manualmente para continuar.
Todo está actualizado
“`
davy.ai
Problema con Git y carpetas sincronizadas de Dropbox
Si estás utilizando repositorios de Git y servicios de sincronización en la nube como Dropbox, se recomienda evitar almacenar repositorios en carpetas sincronizadas por Dropbox. Esto se debe a que puede haber incompatibilidad entre Git y los servicios de sincronización en la nube, lo que puede causar problemas.
Por ejemplo, en una máquina con Windows 10 y Windows Subsystem for Linux, si tienes un repositorio de Git en un directorio administrado por Dropbox, es posible que te encuentres con el siguiente error al intentar hacer push de un commit reciente:
Incluso con
git status
, el repositorio puede aparecer como adelantado con respecto al remoto, aunque el remoto haya sido actualizado:Empujos adicionales pueden dar un error de
File exists
, aunque el commit se haya empujado correctamente al remoto:Por lo tanto, se recomienda mantener los repositorios de Git fuera de las carpetas sincronizadas por Dropbox para evitar este tipo de problemas.