Recibir “fatal: no es un repositorio de Git” al intentar agregar de forma remota un repositorio de Git

6 minutos de lectura

Avatar de usuario de Corey
corey

Estoy siguiendo este tutorial. Todo funciona bien hasta que ejecuto esto en mi máquina local (después de reemplazar el $VARIABLEs con sus valores reales):

git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git

Recibo el siguiente mensaje de error:

fatal: no es un repositorio de git (ni ninguno de los directorios principales): .git

¿Cómo supero este paso?

  • git init pero también asegúrese de que ninguno de sus subdirectorios tenga su propio .git carpeta

    –James Oravec

    14 de diciembre de 2015 a las 17:44

Obtendrá este error si intenta usar un comando de Git cuando su directorio de trabajo actual no está dentro de un repositorio de Git. Esto se debe a que, de forma predeterminada, Git buscará un .git directorio del repositorio (¿dentro de la raíz del proyecto?), como se señala en mi respuesta a “Git no mostrará el registro a menos que esté en el directorio del proyecto”:

De acuerdo con la documentación oficial de Linux Kernel Git,
GIT_DIR es [an environment variable] puesto a buscar un .git directorio (¿en el directorio de trabajo actual?) por defecto:

Si el GIT_DIR la variable de entorno está configurada, luego especifica una ruta para usar en lugar de la predeterminada .git para la base del repositorio.

Tendrás que cd en el repositorio/copia de trabajo, o no inicializó ni clonó un repositorio en primer lugar, en cuyo caso necesita inicializar un repositorio en el directorio donde desea colocar el repositorio:

git init

o clonar un repositorio

git clone <remote-url>
cd <repository>

  • +1 por mencionar GIT_DIR. dentro de los ganchos en un repositorio básico, GIT_DIR se establece en ‘.’ en lugar de ‘.git’.

    – commonpike

    06/09/2014 a las 11:40

  • +1 para git init. Después de leer su respuesta, usé esto varias veces en repositorios que hizo clon, pero no fueron reconocidos. Por lo tanto, parece ser seguro cuando se ejecuta desde un árbol de directorios que se supone que es un git repositorytiene todos los archivos en el directorio git, pero afirma no ser fatal: Not a git repository (or any parent up to mount point

    – ElderDelp

    29 de diciembre de 2017 a las 19:03

  • @commonpike de hecho: mi gancho no funcionó por eso, quería sacar otro repositorio cuando algo fue empujado a mi repositorio desnudo. Tuve que configurar GIT_DIR en “…/.git”

    – rambi

    15 de junio de 2021 a las 10:35

  • Mi archivo HEAD estaba corrupto por algún motivo, así que tuve que restaurarlo y solucioné el problema.

    – Esteban

    20 de diciembre de 2018 a las 12:16


  • Eres genial amigo. Ahorré una tonelada de mi tiempo

    – Vaibhav Sah

    24 de enero de 2019 a las 13:09

  • Tenía Visual Studio abierto durante un git rebase y Visual Studio notó un cambio de archivo y poco después tuve una pantalla azul de muerte. Después de reiniciar, .git/HEAD se llenó con NULLS y cuando los reemplacé con un hash completo (5621afeffbabed40e3f386676068c45643644b7d) leído desde algún lugar como .git\refs\remotes\origin\master, git comenzó a funcionar nuevamente. También necesitaba stackoverflow.com/questions /1115854/… ya que esto me dijo que eliminara .git/index y necesitaba eliminar .git/index.lock antes de reiniciar git. Bien ahora

    – Iván

    8 de marzo de 2019 a las 11:28

  • Casi pierdo la esperanza de recuperar mi trabajo. Simplemente copié y pegué tu solución e hizo magia. Gracias

    – Mukesh Kumar

    26 oct 2019 a las 19:26

  • Ese fue el problema para mí también. También tuve cambios locales en muchos archivos y esto me ahorró trabajo adicional. ¡Gracias!

    – Ady Moldo

    25 de noviembre de 2020 a las 8:12

NOTA: esto no responde al problema común, que era un problema de OP, sino a un problema diferente en el que puede aparecer este mensaje de error. No tenía ganas de hacer una nueva pregunta solo para escribir esta respuesta, dígame si debería hacer eso en su lugar: P

Llegué a la situación, muy probablemente debido a alguna corrupción de cierto bloqueo que tuve, que recibí este error incluso cuando .git existió

smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG  config*  FETCH_HEAD  HEAD  index  logs/  modules/  objects/  ORIG_HEAD packed-refs

Como no tenía nada que realmente necesitara ser preservado, simplemente fui con el método ficticio e hice…

smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/

Sin embargo, todavía no funciona, como por ejemplo git log devoluciones fatal: bad default revision 'HEAD'. Controles remotos fueron allí sin embargo, así lo hice git fetch --all y luego solo git reset --hard origin/master para llegar al estado en que se encontraba el repositorio anteriormente.

Tenga en cuenta que si hay algunos cambios no confirmados, puede verlos con git status, git diff y así. entonces solo git diff yourfile > patch antes de ejecutar el reinicio.

Al menos para mí reflog (git reflog) desapareció por completo. Por lo tanto, si reinicia y hay algunos cambios que desea evitar, no estoy seguro de que pueda recuperarlos después del reinicio. Por lo tanto, asegúrese de tener una copia de seguridad de todos los cambios que no puede perder, en última instancia, simplemente copiando el clon antes de intentar esto.

  • Tengo el problema. E intenté de la manera mencionada por @Smar, pero el mismo resultado fue “fatal…”. Entonces, ¿qué sigue a hacer? ¿cualquier sugerencia?

    – Aarón

    31 de octubre de 2018 a las 2:43

  • Este problema ocurrió al usar Visual Studio, git init y git fetch --all solucionó el problema.

    – Morse

    9 de noviembre de 2018 a las 22:18

  • Parece que el problema es de hace mucho tiempo, pero aún sucede. Estaba usando VS 2022 para actualizar proyectos a .Net más nuevo – 4.7.2 y de repente git los comandos dejaron de funcionar. los .git carpeta estaba allí. y usando git init y git fetch --all arregló el problema Otra cosa que podría causar el problema es que estaba en una rama que se fusionó/eliminó en el control remoto.

    – mihkov

    29 de julio a las 12:23

Avatar de usuario de IsaacS
isaacs

Este problema se me ocurrió después de que moví la ubicación de un proyecto git en el sistema de archivos. Cuando ejecuté algunos comandos de git, ocurrió el error, por ejemplo:

$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis

encontré en /home/rospasta/path_old/gitprojecta/.travis/.git se escribió la ruta absoluta de la antigua ubicación del proyecto. La actualización manual de esta ruta de la nueva ubicación resolvió el problema para mí.

Entonces, mi problema puede o no ser un problema de git, pero HTH.

  • Tengo el problema. E intenté de la manera mencionada por @Smar, pero el mismo resultado fue “fatal…”. Entonces, ¿qué sigue a hacer? ¿cualquier sugerencia?

    – Aarón

    31 de octubre de 2018 a las 2:43

  • Este problema ocurrió al usar Visual Studio, git init y git fetch --all solucionó el problema.

    – Morse

    9 de noviembre de 2018 a las 22:18

  • Parece que el problema es de hace mucho tiempo, pero aún sucede. Estaba usando VS 2022 para actualizar proyectos a .Net más nuevo – 4.7.2 y de repente git los comandos dejaron de funcionar. los .git carpeta estaba allí. y usando git init y git fetch --all arregló el problema Otra cosa que podría causar el problema es que estaba en una rama que se fusionó/eliminó en el control remoto.

    – mihkov

    29 de julio a las 12:23

avatar de usuario de der_michael
der_michael

$ git status
fatal: Not a git repository:

Simplemente escriba lo siguiente en su shell cmd o git o en cualquier otra terminal:

$ git init

¿Ha sido útil esta solución?