git: Tu rama está por delante en X confirmaciones
¿Cómo sucede esto realmente?
Estoy trabajando solo en un repositorio en este momento, así que este es mi flujo de trabajo:
- Cambiar archivos
- Comprometerse
- Repita 1-2 hasta que esté satisfecho
- Empujar para dominar
Luego, cuando hago un git status
me dice que mi rama está por delante en X confirmaciones (presumiblemente la misma cantidad de confirmaciones que he realizado). ¿Es porque cuando presionas el código, en realidad no actualiza tus archivos almacenados en caché local (en las carpetas .git)? git pull
Parece "arreglar" este mensaje extraño, pero todavía tengo curiosidad por saber por qué sucede. ¿Quizás estoy usando git mal?
incluyendo qué rama está impresa en el mensaje
Mi sucursal local está por delante del maestro.
¿Dónde empujas/tiras de la rama actual?
Estoy ingresando a GitHub y accediendo a cualquier computadora en la que esté trabajando en ese momento, mi copia local siempre está completamente actualizada ya que soy el único que trabaja en ella.
en realidad no verifica el repositorio remoto
Eso es lo que pensé, pensé que me aseguraría de que mi comprensión fuera correcta.
¿Le estás pasando algunos argumentos adicionales?
No los que puedo ver, ¿tal vez haya alguna configuración divertida por mi parte?
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Si recibe este mensaje después de realizar un git pull remote branch
, intente continuar con un git fetch
. (Opcionalmente, ejecute git fetch -p
para podar las ramas eliminadas del repositorio)
Fetch parece actualizar la representación local de la rama remota, lo que no necesariamente sucede cuando realizas un archivo git pull remote branch
.
Usar
git pull --rebase
La opción --rebase significa que git moverá su confirmación local a un lado, sincronizará con el control remoto y luego intentará aplicar sus confirmaciones desde el nuevo estado.