Me presento a Git siguiendo este tutorial:
Todo funciona bien hasta la parte donde se agrega el repositorio a mi máquina local:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(Después de reemplazar USERNAME, NFSNSERVER y REPOAME con los nombres correctos) recibo el error:
fatal: Not a git repository (or any of the parent directories): .git
¿Me pueden ayudar a pasar este paso?
git init
pero también asegúrese de que ninguno de sus subdirectorios tenga su propia.git
carpetaRespuestas:
¿Inició un repositorio Git local, en el que se supone que se debe agregar este control remoto?
¿Su directorio local tiene una
.git
carpeta?Tratar
git init
.fuente
.git
carpeta se ha ido. Esgit init
lo mismo que eliminar la carpeta del repositorio, y luegogit clone ...
. Todo lo que necesito hacer es unpull
.git
carpeta se ha ido, puedegit init
volver a ejecutarla para crear una nueva. Sin embargo, deberá volver a agregar un control remoto antes de poder extraerlo.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Obtendrá este error si intenta usar un comando Git cuando su directorio de trabajo actual no está dentro de un repositorio Git. Esto se debe a que, por defecto, Git buscará un
.git
directorio de repositorio (¿dentro de la raíz del proyecto?), Como lo señala mi respuesta a "Git no mostrará el registro a menos que esté en el directorio del proyecto" :Necesitará
cd
ingresar al repositorio / copia de trabajo, o no inicializó o clonó un repositorio en primer lugar, en cuyo caso debe inicializar un repositorio en el directorio donde desea colocar el repositorio:o clonar un repositorio
fuente
git init
. Después de leer su respuesta, he usado esto varias veces en los repositorios que yo hice clon, pero no fueron reconocidos. Por lo tanto, parece ser seguro cuando se ejecuta desde un árbol de directorios que se supone que es ungit repository
, tiene todos los archivos en el directorio git, pero afirma que no lo esfatal: Not a git repository (or any parent up to mount point
Mi problema fue que, para algunos problemas con mi sistema operativo, cualquier comando en mi repositorio local terminaba con "fatal: No es un repositorio git (o cualquiera de los directorios principales): .git", con el comando fsck incluido.
El problema era un archivo HEAD vacío .
Pude encontrar el nombre real de la sucursal en la que he trabajado en .git / refs / heads y luego hice esto:
Funcionó.
fuente
NOTA: esto no responde al problema común, que era el 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, dime si debería hacer eso en su lugar: P
Llegué a una situación, muy probablemente debido a cierta corrupción de cierto bloqueo que tuve, que recibí este error incluso cuando
.git
existía.Como no tenía nada que realmente necesitara preservación, simplemente fui con una forma ficticia e hice ...
Sin embargo, todavía no funciona, como por ejemplo,
git log
vuelvefatal: bad default revision 'HEAD'
. Sin embargo, los controles remotos estaban allí, así que lo hicegit fetch --all
y luego sologit reset --hard origin/master
para llegar al estado en el que estaba el repositorio anteriormente.Tenga en cuenta que si hay algunos cambios no confirmados, puede verlos
git status
,git diff
etc. Entonces sologit diff yourfile > patch
antes de ejecutar el reinicio.Al menos para mí reflog (
git reflog
) desapareció por completo. Por lo tanto, si realiza el restablecimiento y hubo algunos cambios que deseaba evitar, no estoy seguro de que pueda recuperarlos después del restablecimiento. Por lo tanto, asegúrese de tener todos los cambios que no puede perder respaldados, en última instancia, simplemente copiando el clon antes de intentar esto.fuente
git init
ygit fetch --all
solucionó el problema.Simplemente escriba lo siguiente en su cmd o git shell o cualquier otra terminal:
fuente
Este problema se me ocurrió después de mover la ubicación de un proyecto git en el sistema de archivos. Cuando ejecuté algunos comandos git, se produjo el error, por ejemplo:
Encontré en
/home/rospasta/path_old/gitprojecta/.travis/.git
el camino absoluto de la antigua ubicación del proyecto fue escrito. La actualización manual de esta ruta de la nueva ubicación me resolvió el problema.Entonces mi problema puede o no ser un problema de git, pero HTH.
fuente
En caso de que ayude a alguien más, recibí este mensaje de error después de eliminar accidentalmente .git / objects /
Restaurarlo resolvió el problema.
fuente
En la línea de comandos / CLI, obtendrá este error si su directorio actual NO es el repositorio. Por lo tanto, primero debe incluir el CD en el repositorio.
fuente
Probablemente sea demasiado tarde, pero otra solución que podría ayudar a futuros visitantes. Primero elimine el
.git
directorio anterior -Luego inicialice el repositorio git nuevamente
fuente
fatal
error a pesar de que.git
existe la carpeta.Parece que no vas a tu carpeta específica. Por ejemplo, si estoy trabajando en un proyecto llamado bugsBunny y está guardado en la carpeta d: / work: code, entonces primero debes ir a esa carpeta usando cd d: / work / code / bugsBunny, luego de eso puede continuar usando sus comandos git.
fuente
Incluso yo tuve el mismo problema. Escribí un script de shell que hará una copia de seguridad de todos mis códigos en mi repositorio git los días hábiles de una semana a las 17:55 utilizando crontab. Al ver los registros de cron, encontré el problema mencionado anteriormente.
el problema anterior se produce solo cuando intenta ejecutar comandos git desde un directorio que no es gir (es decir, desde otro directorio que no es la copia de trabajo). para arreglar esto, agregue
-C <git dir>
el comando git que está ejecutando de manera tal quegit status
serágit -C /dir/to/git status
ygit add -A
serágit -C /dir/to/git -A
.fuente
En mi caso, utilicé Tortoise SVN y cometí el error de usar también las funciones Visual Studio GIT al mismo tiempo. Eso hizo que Visual Studio bloqueara el archivo HEAD dentro de la carpeta .git para que ni VS ni Tortoise pudieran acceder al repositorio y recibí el error "fatal: No es un repositorio git ..." de ambas aplicaciones.
Solución:
fuente
Para eso necesita ingresar un comando que falta en los comandos de bitbucket
Por favor, intente con git init.
fuente
en mi caso, tuve el mismo problema mientras probaba cualquier comando git (por ejemplo, estado git) usando cmd de windows. entonces, lo que hago es instalar git para la ventana https://windows.github.com/ en las variables ambientales, agregar la ruta de clase del git en la variable "PATH". generalmente el git se instalará en C: / user / "username" / appdata / local / git / bin agregue esto en la RUTA en la variable ambiental
y una cosa más en el cmd vaya a su repositorio git o cd donde está su clon en su ventana, generalmente se almacenarán en los documentos en github cd Document / Github / yourproject después de eso, puede tener cualquier comando git
gracias
fuente
Vaya a su carpeta de origen donde está almacenado el repositorio local, por ejemplo, el mío se encuentra en c: / GitSource, haga clic derecho mientras está en la carpeta, haga clic en git bash aquí, luego git status ...
fuente
GIT_DIR debe estar desarmado:
unset GIT_DIR
fuente
En mi caso, el archivo .git / HEAD estaba dañado (solo contenía puntos). Así que lo edité y reemplacé su contenido con:
ref: refs/heads/master
y comenzó a funcionar nuevamente.
fuente
Para mí, esto estaba relacionado con la propiedad malformada en mi
.git/
camino.root
propiedad.git/HEAD
y.git/index
, evitando que eljenkins
usuario ejecute el trabajo.fuente
.git/HEAD
y.git/index
pararoot:root
, todavía puedo agregar controles remotos sin error. Cuando cambio la propiedad de todo el.git
directorio pararoot
, me sale un error diferente:error: could not lock config file .git/config: Permission denied
.El error a continuación parece que Gits no encontró el archivo .git en el directorio actual, por lo que arrojó un mensaje de error.
Por lo tanto, cambie de directorio a directorio de repositorio donde haya extraído el código de git y luego ejecute este comando.
fuente
En mi caso, descubrí que git en Windows se volvió sensible a mayúsculas y minúsculas para la letra de la unidad desde algún punto.
Después de actualizar git binary en Windows, los comandos cli que solían funcionar se detuvieron. por ejemplo, la ruta en el script era D : \ bla \ file.txt mientras que el comando git aceptaba solo d : \ bla \ file.txt
fuente
git funcionaba bien para ser y, de repente, comenzó a mostrar este
fatal: Not a git repository (or any of the parent directories): .git
mensaje.Para mí, no estoy seguro de qué estaba dañado en la carpeta .git, lo hice
git clone ** newfolder
y copié toda la carpeta .git a mi carpeta corrupta / antigua donde estaba haciendo cambios antes de que git comenzara a mostrar un mensaje de error.Todo volvió a la normalidad y git también reconoció mis archivos modificados / sin organizar.
fuente
restaurar el
.git/ORIG_HEAD
y otros archivos de repositorio raíz .gitRecibí este error después de restaurar desde la copia de seguridad, aparentemente los archivos contenidos en la raíz del directorio .git no llegaron al destino, pero todas las subcarpetas lo hicieron al principio, pensé que el repositorio estaba intacto.
Lo arreglé restaurando los archivos raíz.
fuente
Tuve este problema con el complemento Jenkins Git después de problemas de autenticación con GitLab. Jenkins informaba 'hudson.plugins.git.GitException: [...] stderr: GitLab: no se pudo encontrar el proyecto que estaba buscando. fatal: no se pudo leer desde el repositorio remoto.
Sin embargo, si hice un 'git clone' o 'git fetch' directamente desde el cuadro de Jenkins (línea de comando) funcionó sin problemas.
El problema se resolvió eliminando todo el directorio / workspace en la carpeta de trabajos de Jenkins para ese trabajo en particular, p. Ej.
Presumiblemente, la carpeta local .git se había quedado obsoleta / corrupta?
fuente
Esto también puede deberse a los permisos. Verifique los permisos del propietario / grupo y asegúrese de tener los permisos adecuados para acceder a esos datos. En mi caso, me encontré con este error al ejecutar "git status" en un repositorio cuya propiedad se estableció en root: root. Ejecutar "git status" como root resolvió mi problema. Alternativamente, si no desea que la propiedad del usuario / grupo sea root: root, asigne el repositorio a algo a lo que tenga acceso.
fuente
Tuve este problema y lo solucioné agregando el archivo README.md
fuente
En mi caso, un bloqueo del sistema había dañado el archivo HEAD. Esta guía muestra cómo solucionar ese y otros problemas que puede encontrar.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
fuente