es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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
“`

Tags:  , ,

Answer

  1. Avatar for 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:

    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 establecer 'refs/remotes/origin/main'
    

    Incluso con git status, el repositorio puede aparecer como adelantado con respecto al remoto, aunque el remoto haya sido actualizado:

    $ git status
    En la rama main
    Tu rama está adelantada a 'origin/main' por 1 commit.
      (usa "git push" para publicar tus commits locales)
    
    nada para hacer commit, árbol de trabajo limpio
    

    Empujos adicionales pueden dar un error de File exists, aunque el commit se haya empujado 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.
    
    Otro proceso de git parece estar ejecutándose en este repositorio, por ejemplo,
    un editor abierto por 'git commit'. Asegúrate de que todos los procesos
    se encuentren finalizados y luego intenta de nuevo. Si aún falla, un proceso de git
    puede haberse bloqueado anteriormente en este repositorio:
    elimina el archivo manualmente para continuar.
    Todo está actualizado
    

    Por lo tanto, se recomienda mantener los repositorios de Git fuera de las carpetas sincronizadas por Dropbox para evitar este tipo de problemas.

Comments are closed.