Así que aquí está la situación:Repo 'repo' estado 'git' diciendo que la rama está por delante de origen/maestro. ¿Por qué?
estado $ git
# En la rama principal
# Su rama está por delante de 'origin/master' por [x] se compromete.
#
Hay varias preguntas sobre esto en ya SO, pero ninguno parece abordar específicamente el tipo de escenario que tengo. This answer a una de las preguntas se acerca más, pero no entra en detalles.
sólo voy a citar textualmente:
Si recibe este mensaje después de hacer un "git pull sucursal remota", trate de seguir para arriba con un "git fetch".
Fetch parece actualizar la representación local de la rama remota, lo que no ocurre necesariamente cuando se hace una "rama remota de git pull".
Ese consejo sí funciona. Pero "¿no necesariamente sucede?" Por qué no? Necesito entender esto. ¿Qué es lo que no está haciendo?
no quiero que se encargue de esta cuestión, así que aquí está mi escenario en detalle:
tres equipos implicados. La Mac en la que desarrollo, mi servidor principal donde vive el repositorio git (es decir, el origen/principal) y una cuenta Webfaction que se extrae de ese servidor.
Realizo commits y git push origin master
solo en la Mac. El único comando que se ejecuta en Webfaction como parte del flujo de trabajo normal es git pull origin master
(como parte de un script de despliegue Fabric). No modifico el código allí. Soy un desarrollador solitario, por lo que tampoco lo hace nadie más.
De vez en cuando me conecto a Webfaction y verifico cosas, incluyendo un git status
. Inevitablemente, siempre recibo el mensaje "Su sucursal está adelante ...". Ejecutando git fetch
hace que el mensaje desaparezca.
Estoy a punto de agregar git fetch
a la secuencia de comandos Fabric para hacer con este problema, pero quiero saber por qué es necesario hacerlo, especialmente en un clon pull-only de origen/master. No soy muy versado en Git, aunque utilizo la funcionalidad básica a diario, por lo que una explicación amigable para novatos sería apreciada.
actualización conforme a lo solicitado, los bits relevantes de config
:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected][server_address]:[path/to/repo.git]
[branch "master"]
remote = origin
merge = refs/heads/master
¿Puedes publicar la parte de "origen" de tu configuración de git del servidor Webfaction en la pregunta? Tengo la sensación de que podría tener algo que ver con eso. – Nic
Tenga en cuenta que no he modificado ese archivo de configuración de ninguna manera. Fue creado con un estándar 'git clone' del repositorio de origen. –