2011-12-08 17 views
7

Tengo una carpeta remota a la que no puedo presionar. Cuando voy directamente al directorio remoto y un hacer un 'git status' se lee: no existe No es un repositorio gitgit status returns "fatal: Not a git repository" yet .git directory exists

La carpeta .git y estaba trabajando bien ayer y:

fatal nada ha cambiado desde entonces.

¿Alguien me puede decir la (s) razón (es) por las que podría recibir este mensaje aunque la carpeta .git exista?

Gracias de antemano por su ayuda. ¡Muy apreciado!

+2

¿derechos perdidos en el directorio .git? – Rufinus

+0

Si no es lo que @Rufinus sugiere bastante apropiadamente, posiblemente la corrupción del sistema de archivos ... – Romain

+0

¿cuál es el mensaje que se obtiene cuando se intenta presionar? – havexz

Respuesta

7

Si los permisos en la carpeta .git son correctos, compruebe que hay un archivo .git/HEAD existente o que no tiene el nombre incorrecto como .git/head. La presencia de .git/HEAD (o HEAD en caso de descubierto) es la verificación secundaria para un repositorio de git

+2

Si '.git/HEAD' existe y todavía obtiene este error, asegúrese de que el * contenido * de' .git/HEAD' apunta a una referencia válida. Si git no puede analizar el contenido, también muestra que el repositorio no es válido. – koppor

+2

¿Qué es .git/HEAD no existe? (En mi caso solo existe .git/ORIG_HEAD) y estoy teniendo el mismo problema que el OP. –

+0

@SeanAhrens Tenía un archivo 'HEAD' corrupto y un archivo' ORIG_HEAD'. Copiar este último sobre el primero solucionó mi problema y me devolvió a un estado correcto. Puede ejecutar 'git reflog' para ver las posiciones HEAD recientes una vez hecho esto, en caso de que necesite restablecer una confirmación diferente. –

1

Clonar el repositorio remoto en otra carpeta y comparar las carpetas .git.

+0

Con tal prueba, las diferencias en la carpeta 'objects' no son necesariamente un problema. –

+0

Correcto, pero en las otras carpetas y archivos puede indicar cuál es el problema – yorammi

Cuestiones relacionadas