Diferencia b / wa $ git pull y $ hg pull

Steve Losh: una guía para la ramificación en Mercurial –

Mercurial empujará / arrastrará todas las twigs por defecto, mientras que git empujará / arrastrará solo la twig actual.

Me pregunto si mi entendimiento es correcto:

Se me ocurre que cuando hago una git pull , realmente la fetch de todas las twigs, pero la merge solo ocurre con la twig actual en la que estoy sentado. Esto es muy cercano a mercurial donde un pull me atrapa todo desde el control remoto; pero no merge nada aún.

En mercurial un push envía todo, pero se necesita una update explícita para fusionar las cosas. No estoy seguro del comportamiento de git' de la operación de push .

En Git, tienes que tirar / empujar todas las twigs una por una. Por lo tanto, puede trabajar en sucursales locales sin estropear el server.

Puede especificar cada vez qué twig desea tirar / empujar: git push origin master significa que desea enviar su branch master a la que está en el origen, que a menudo es el server "pnetworkingeterminado".

Lo que sucede cuando se hace git pull sin ningún refspec se basa en la configuration (de la sección de comportamiento pnetworkingeterminado de git-pull man):

Para determinar qué twigs remotas recuperar (y opcionalmente almacenar en las twigs de seguimiento remoto) cuando el command se ejecuta sin ningún parámetro refspec en la command-line, se consultan los valores de la variable de configuration remote..fetch, y si no hay 't any, $ GIT_DIR / remotes / file es consultado y se utilizan sus líneas Pull: . Además de los formattings refspec descritos en la sección OPCIONES, puede tener un refspec globbing que se ve así:

refs / heads / : refs / remotos / origen /

http://www.kernel.org/pub/software/scm/git/docs/git-pull.html

De nuevo, lo que empuja git push depende de la configuration (y los parameters)

Sin configuration adicional, funciona como git push origin :

El comportamiento pnetworkingeterminado de este command cuando no se proporciona puede configurarse configurando la opción de inserción del control remoto.

Por ejemplo, para usar de forma pnetworkingeterminada solo la twig actual al origen, use git config remote.origin.push HEAD. Cualquier válido se puede configurar como pnetworkingeterminado para el origen de git push.

http://kernel.org/pub/software/scm/git/docs/git-push.html