Skip to content

Instantly share code, notes, and snippets.

@MatiasDuhalde
Last active December 17, 2024 15:45
Show Gist options
  • Save MatiasDuhalde/b15e6bccc8eec5030cb2ff3565fc6d81 to your computer and use it in GitHub Desktop.
Save MatiasDuhalde/b15e6bccc8eec5030cb2ff3565fc6d81 to your computer and use it in GitHub Desktop.
Errores comunes en git (y cómo solucionarlos)

Errores comunes en git (y cómo solucionarlos)

  1. Error 1: not a git command / no es un comando de git
  2. Error 2: not a git repository / no es un repositorio git
  3. Error 3: Another git process seems to be running in this repository / Otro proceso git parece estar ejecutando en el repositorio
  4. Error 4: No configured push destination / No se ha configurado un destino para el empuje
  5. Error 5: The current branch master has no upstream branch / La rama actual master no tiene una rama upstream
  6. Error 6: Could not read from remote repository / No se pudo leer del repositorio remoto
  7. Contribuciones

Error 1: not a git command

Mensaje de error (inglés)

git: 'comando' is not a git command. See 'git --help'.

Mensaje de error (español)

git: 'comando' no es un comando de git. Mira 'git --help'.

Causa

Este ocurre cuando se ejecuta un comando que no existe en git, normalmente ocasionado por un typo o problema de escritura. Por ejemplo, git push es un comando válido, pero git puhs no lo es, y debería arrojar el error mencionado.

Solución

La solución más simple consiste en revisar que el comando que se está ejecutando esté correctamente escrito. Si no estás seguro de la escritura, puedes utilizar el comando git help para desplegar la ayuda de git, que muestra la lista de comandos válidos. También puedes revisar la documentación oficial de git para ver si el comando existe.

A continuación se listan algunos comandos comunes:

  1. git init: Inicializa un repositorio en el directorio actual.
  2. git add: Agrega archivos al área de preparación.
  3. git commit: Crea un nuevo commit.
  4. git push: Empuja los commits locales al repositorio remoto.
  5. git pull: Trae los commits del repositorio remoto al repositorio local.
  6. git status: Muestra el estado del repositorio.
  7. git clone: Clona un repositorio remoto.
  8. git remote: Muestra los repositorios remotos.
  9. git log: Muestra el historial de commits.
  10. git branch: Muestra las ramas del repositorio.
  11. git checkout: Cambia de rama o restaura un archivo.
  12. git merge: Une dos ramas.
  13. git reset: Restaura un archivo a un commit anterior.

Error 2: not a git repository

Mensaje de error (inglés)

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

Mensaje de error (español)

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

Causa

Esto ocurre al ejecutar ciertos comandos válidos que empiecen con git (e.g. git status). El error indica que la terminal desde la cual se está ejecutando el comando no está ubicada en un directorio ni en un subdirectorio que contenga un repositorio.

Solución

La solución normalmente es de mover la terminal actual a un directorio que contenga el repositorio deseado. Para mover la terminal de directorio/carpeta, se puede usar el comando cd seguido del nombre del directorio al cual se quiere acceder. Por ejemplo, cd mi_repositorio mueve la terminal desde el directorio actual hasta el subdirectorio "mi_repositorio".

Tips extra:

  • Para saber en qué directorio se encuentra la terminal, se puede usar el comando pwd
  • Para ver qué archivos y carpetas se encuentran dentro del directorio actual, se puede usar el comando ls (Mac y Linux), o el comando dir (Windows)
  • Para "subir" un directorio, se puede usar el comando cd ..

Error 3: Another git process seems to be running in this repository

Mensaje de error (inglés)

fatal: Unable to create '.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

Mensaje de error (español)

fatal: No se puede crear '.git/index.lock': El fichero ya existe.

Otro proceso git parece estar ejecutando en el repositorio, es decir
un editor abierto con 'git commit'. Por favor asegúrate de que todos los procesos
estén terminados y vuelve a intentar. Si el fallo permanece, un proceso git
puede haber roto el repositorio antes:
borra el archivo manualmente para continuar.

Causa

Se está ejecutando otro proceso de git (posiblemente en otra consola/terminal) en el repositorio que estás intentando modificar actualmente (como un commit). También, es posible que un proceso haya terminado inesperadamente, y el repositorio se haya bloqueado.

Solución

La solución más simple consiste en revisar las terminales que tengas abiertas y ver si hay algún proceso de git ejecutandose (asegúrate también de revisar cualquier editor de texto que estés ocupando). Si lo encuentras, puedes terminarlo normalmente o forzar a que termine de ejecutarse presionando Ctrl-C o Cmd-C.

Otra solución consiste en ir al directorio base del repositorio, y ejecutar el siguiente comando:

rm -f .git/index.lock

Error 4: No configured push destination

Mensaje de error (inglés)

fatal: No configured push destination.

Mensaje de error (español)

fatal: No se ha configurado un destino para el empuje.

Causa

Esto normalmente sucede cuando intentamos ejecutar el comando git push, pero no existe ningún destino remoto configurado en el repositorio actual.

Solución

La solución consiste en configurar un destino. Para aquello, se puede ejecutar el siguiente comando:

git remote add origin <url>

Acá origin es el nombre que se le dará al destino remoto, y <url> es la dirección del repositorio remoto al cual se quiere conectar. Se debe reemplazar por la dirección deseada. Por ejemplo, si el repositorio remoto se encuentra en GitHub, la dirección sería algo como [email protected]:MatiasDuhalde/repositorio-de-ejemplo.git o https://github.com/MatiasDuhalde/repositorio-de-ejemplo.git.

Normalmente el primer comando que se debe ejecutar luego de configurar un remoto es git push -u origin <nombre_rama>, que empujará los cambios locales al repositorio remoto en la rama nombre_rama (normalmente master o main), y configurará el repositorio local para que el destino remoto origin sea el destino por defecto para el comando git push.

Error 5: The current branch has no upstream branch

Mensaje de error (inglés)

fatal: The current branch <branch_name> has no upstream branch.

Mensaje de error (español)

fatal: La rama actual <nombre_rama> no tiene una rama upstream.

Causa

Esto normalmente sucede cuando intentamos ejecutar el comando git push estando en una nueva rama que no existe o no está configurada en el repositorio remoto.

Solución

La solución consiste en configurar la rama actual como una rama upstream. Para aquello, se puede ejecutar el siguiente comando:

git push --set-upstream origin <nombre_rama>

Donde <nombre_rama> debe remplazarse por el nombre de la rama actual (normalmente master o main), y origin es el nombre del destino remoto al cual se quiere conectar.

Error 6: Could not read from remote repository

Mensaje de error (inglés)

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Mensaje de error (español)

fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.

Causa

Esto sucede al intentar ejecutar una acción sobre un repositorio remoto (como por ejemplo, git clone o git push), pero no se puede acceder a él. Esto puede suceder por dos razones:

  • El repositorio no existe
  • No se tienen los permisos necesarios para acceder o modificar el repositorio

Solución

Para descartar el primer caso, si estás haciendo git clone, revisa que la URL del repositorio sea correcta en el comando que estás ejecutando. Si estás haciendo otra acción como git push, revisa que el destino remoto esté configurado correctamente. Para esto, ejecuta el comando git remote -v y revisa que la URL del destino remoto sea correcta, y que tengas acceso a ella.

Para descartar el segundo caso, revisa que tengas los permisos necesarios para acceder o modificar el repositorio:

  • Si estás haciendo git clone y el repositorio es público, no debería haber problemas de acceso. Si el repositorio es privado, asegúrate de que tengas los permisos necesarios para acceder a él. Si eres capaz de acceder al repositorio desde el navegador, pero no desde git, deberás verificar la configuración de tus credenciales. Para repositorios en GitHub, puedes revisar este enlace que contiene una guía que explica el acceso a repositorios remotos.
  • Si estás haciendo una acción como git push, confirma que tienes acceso de escritura al repositorio.

Error template

Mensaje de error (inglés)

WIP

Mensaje de error (español)

WIP

Causa

Solución

Contribuciones

¿Falta algún error aquí? Indícalo creando un comentario, y lo agregaré a esta lista lo antes posible.

@ivnvaldz7
Copy link

Thank you

@Mastercron
Copy link

Processes are running in session:WPID PID COMMAND 6556 2389 c:\Program Files\git\minggw11332 2390 less close anyway?

Consulta
¿Porqué ocurre este error?
El mensaje sale en un cuadro de diálogo, mientras que el programa, el cursor se queda pegado, seleccionado la palabra END, no permite retornar a la línea de comando, tampoco permite salir del programa

@MatiasDuhalde
Copy link
Author

Hola @Mastercron

A partir del error veo que se está ejecutando la utilidad de comandos less. Lo que hace esta utilidad es que básicamente te coloca el terminal en un estado de lectura, que normalmente se usa para mostrar archivos u outputs en la terminal. Normalmente, para salir de este estado, basta con presionar la tecla q.

Esta utilidad la utiliza git por detrás cuando se ejecutan comandos como git log o git diff.

@jorge-star
Copy link

hola alguien me pueda ayudar , realice un trabajo en visula studio y no me deja pasarlo a github

@ingridl23
Copy link

fatal: Unable to create 'C:/Users/carina/Downloads/xampp/htdocs/TPEWEB2/TPEweb2/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

hola alguien puede explicarme porque pasa esto lo googlee y dice que se bloquea el repositorio para editar no entiendo porque . me aparecio cuando intente cambiarme de rama

@delafuentej
Copy link

Si te aparece el siguiente mensaje de error en un proyecto con git, que posible solución se podria hacer para que te reconozca de nuevo el comando una vez reinstalado git ?Error: The term 'git' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
git:

@edwredca
Copy link

Hola, apenas estoy aprendiendo a utilizar GIT, y al escribir algunos comandos como lo son el git log, git cat, etc. Los lee, pero no me genera ninguna acción ósea como si no se ejecutara el comando puesto y el programa sigue corriendo normal, no sé si alguien sabría solucionar este problema

@sevasby
Copy link

sevasby commented Aug 15, 2024

por que me aparese esto

PS C:\Users\GINES\Desktop\INICIO> git init
git : El término 'git' no se reconoce como
nombre de un cmdlet, función, archivo de script
o programa ejecutable. Compruebe si escribió
correctamente el nombre o, si incluyó una ruta
de acceso, compruebe que dicha ruta es correcta
e inténtelo de nuevo.
En línea: 1 Carácter: 1

  • git init
  •   + CategoryInfo          : ObjectNotFound: (  
     git:String) [], CommandNotFoundException      
      + FullyQualifiedErrorId : CommandNotFoundEx  
     ception
    

@sergicasanova
Copy link

Hola, mi visual estudio esta intentando subir todo lo que tengo en el ordenador a github, creo que hice un .git del escritorio o algo, como puedo solucionar esto?¿

@MatiasDuhalde
Copy link
Author

@sergicasanova
En el explorador de archivos de Windows, activa la opción para ver los archivos y las carpetas ocultas.
Revisa las carpetas que contienen tu proyecto (documentos, escritorio, etc.) e intenta encontrar una carpeta llamada .git. Esa carpeta debes eliminarla.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment