Inicio·Mensajes de error

git · Git

El mensaje

! [rejected] main -> main (fetch first)

Qué significa

La rama remota tiene commits que tu clon nunca ha visto, así que hacer push ahora no sería un avance rápido. Pasa cuando un compañero hizo push antes, o cuando hace mucho que no haces fetch. git pull --rebase origin main trae esos commits y vuelve a aplicar los tuyos encima, y luego el push pasa. Nunca uses --force aquí: los commits que sobrescribirías son de otra persona y no están en tu repositorio, así que nada local puede recuperarlos.

El arreglo

git pull --rebase origin main
Lo imprime
git
Git
29

Casi todos los errores de git son una negativa que significa "hacer eso desde este estado perdería algo"; fatal: indica que git se detuvo sin cambiar nada, y las líneas hint: bajo la primera suelen traer el remedio real.

Cómo leer un mensaje de error

  • Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
  • Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
  • Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
  • La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
  • Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.

Preguntas frecuentes

Q. ¿Qué significa «! [rejected] main -> main (fetch first)»?

La rama remota tiene commits que tu clon nunca ha visto, así que hacer push ahora no sería un avance rápido. Pasa cuando un compañero hizo push antes, o cuando hace mucho que no haces fetch. git pull --rebase origin main trae esos commits y vuelve a aplicar los tuyos encima, y luego el push pasa. Nunca uses --force aquí: los commits que sobrescribirías son de otra persona y no están en tu repositorio, así que nada local puede recuperarlos.

Q. ¿Cómo se arregla?

git pull --rebase origin main — antes de ejecutarlo, mira arriba qué descarta este comando.

Q. ¿Qué herramienta lo imprime?

git. Está en Git y el mensaje tiene 7 palabras.

Errores cercanos