2012-09-10 45 views
5

Tengo una rama principal y una rama dev para el desarrollo actual (copia de trabajo local). Necesito fusionar los cambios del maestro en mi rama de desarrollo. Antes de fusionar me encontré alijo Git y descubrí el siguiente error:github workflow - fatal: no es un repositorio git (ni ninguno de los directorios principales): .git

fatal: Not a git repository (or any of the parent directories): .git

Para investigar este error me encontré con los siguientes comandos: git status git branch git remote -v. Todo produjo el mismo error fatal: Not a git repository (or any of the parent directories): .git

También probé restablecer el origen de mi sucursal git remote set-url origin https://github.com/Connexions/oer.exports.git que produce el mismo resultado: fatal: Not a git repository (or any of the parent directories): .git

no puedo confirmar ningún cambio de mi directorio de trabajo local en mi rama dev tampoco.

¿Alguien tiene alguna sugerencia sobre cómo corregir este problema.

+0

Asegúrate de que tu directorio actual tenga una carpeta '.git'? – Whymarrh

+0

¿Qué muestra '$ ls .git' en este directorio? –

+0

Decidí hacer una copia de seguridad de mi sucursal, volver a colgar, tirar de la rama y pegar los archivos. Esto resolvió mi problema. Gracias. –

Respuesta

2

Una forma de obtener ese mensaje de error es de alguna manera no estar en el árbol de trabajo de git repo.
Consulte "After git clone I get a “ fatal: Not a git repository (or any of the parent directories): .git ” error" como una ilustración.

También puede deberse a que una variable de entorno GIT_WORK_TREE está configurada en la ruta incorrecta.
O se ve en envoltorios utilizando repositorio git como rvm (véase, por ejemplo, this thread)

En ambos casos, el restablecimiento de la situación en un nuevo clon (que lo hizo) por lo general es una buena manera de solucionar la situación.

13

Comprobar el siguiente archivo:

  • your_repo_dir/.git/HEAD

Si este contenido parece corrompido, esta es la cuestión. Tuve el problema similar y lo solucioné reemplazando el contenido del archivo HEAD con el hash de confirmación de git de la última confirmación de la rama seleccionada.

Commit hashes podrían encontrarse bajo la .git/logs/refs/heads and branch_name_file

espero que ayude.

+0

Esta fue la solución cuando me encontré con este problema. El archivo HEAD había desaparecido. –

+0

Esto funcionó en nuestro caso, también. Nuestro código dir está montado en un mac de un invitado de VirtualBox a través de samba y, con frecuencia, después de despertarnos de nuestro modo de dormir, obtenemos este error. El .git/HEAD está vacío, y restaurarlo con un fidedigno soluciona el problema. También hubo un .git/index.lock sobrante que tuvo que ser eliminado. – apinstein

3

Tuve este error después de tener problemas con el complemento visual studio git.

La solución fue cambiar el nombre de my_repo_dir/.git/HEAD.lock a my_repo_dir/.git/HEAD

Parece que algo se estrelló después de bloquear el archivo de la cabeza y en el que murieron el repositorio.

2

Tuve el mismo problema después de intentar empujar la rama al control remoto de Visual Studio. Cambié el nombre de .git/HEAD.lock a .git/HEAD después de verificar su contenido. Ahora funciona bien.

Cuestiones relacionadas