Error de Git SVN: un proceso de Git se bloqueó en el repositorio anteriormente

97

Solo estaba tratando de realizar cambios en el maestro de Git. Por lo que he leído, parece que la idea es eliminar el archivo de bloqueo. El mensaje dice:

asegúrese de que no se estén ejecutando otros procesos de Git y elimine el archivo manualmente

Quizás alguien sepa, ¿qué archivo eliminar y cómo eliminar?

Pinchas K
fuente
1
¿Podría mostrar el mensaje de error completo, incluido el comando que está ejecutando?
Schwern
Aunque uso la tortuga. ¿Puedes borrar ese archivo en la tortuga o solo en el caparazón?
Pinchas K
Probablemente tendrá que hacerlo en un explorador de archivos o shell. Puede que tenga que mostrar archivos ocultos.
Schwern
El error completo es este: fatal: No se puede crear el archivo 'C / etc / .git / index.lock'. Si no se está ejecutando ningún otro proceso de git, esto probablemente significa que un proceso de git se bloqueó antes en el repositorio. Asegúrese de que no se esté ejecutando ningún otro proceso de git y elimine el archivo manualmente para continuar.
Pinchas K
5
El mensaje de error lo dice todo. Eliminar C:\etc\.git\index.lockcomo cualquier otro archivo.
Schwern

Respuestas:

194

El archivo en cuestión es probable .git/index.locky debería ser seguro eliminarlo si no tiene otros procesos git en ejecución . Asegúrese de que un comando git-svn no se cuelgue.

PD Mi enfoque habitual para solucionar los problemas de git-svn es hacer una nueva extracción del repositorio. Consume mucho tiempo, pero puede hacerlo en paralelo con el intento de solucionar el problema. Ten una pequeña carrera entre tú y git. Por supuesto, esto solo funciona si no tiene confirmaciones sin presionar.

Schwern
fuente
1
Esto no me solucionó. Tenía otro archivo de bloqueo restante en .git / svn / refs / remotes / git-svn / index.lock.
Kai Stavginski
74

Eliminar el index.lockarchivo como dijo Schwern resolverá este problema.

Puedes eliminarlo ejecutando rm -f ./.git/index.lock

El rmcomando se utiliza para eliminar (eliminar) archivos y directorios.

El -frepresenta la fuerza que le dice a su equipo para eliminar los archivos sin pedir confirmación

Joel
fuente
9

Para usuarios de "GUI" como yo

Abra la Extensión de Git y elija el repositorio (si hay más de uno) Elija "Configuración" en el menú superior, luego "Mantenimiento de Git" y luego haga clic en "Eliminar bloqueo de índice"

Extensiones de Git: Configuración-> Mantenimiento de Git-> Eliminar bloqueo de índice

user3981082
fuente
2

Ya has abierto una confirmación en otra pestaña de la terminal

Andrew Denysyuk
fuente
2

También puede afectar a cualquier archivo * .lock en .git /

Revíselos y quítelos. Puedes utilizar:rm -f ./.git/*.lock

artegen
fuente
0

Eliminar el archivo index.lock como dijo Schwern resolverá este problema.

Puede eliminarlo ejecutando rm -f ./.git/index.lock

El comando rm se utiliza para eliminar (eliminar) archivos y directorios.

La -f significa fuerza, que le dice a su computadora que elimine los archivos sin pedir confirmación

todavía no funciona significa abrir el git a través de git bash en lugar de hacerlo en la terminal

sarangan
fuente