El comportamiento predeterminado de git push
, que es, presumiblemente, lo que describe como "presionar el código para el servidor", es presionar únicamente las ramas locales que tienen una rama correspondiente, por nombre, en el control remoto que está presionando. Cuando crea un nuevo repositorio, no tiene ramas, por lo que un simple git push
no arrojará nada. Tienes que empujar explícitamente una rama por su nombre primero. A partir de entonces, el comportamiento predeterminado funcionará como esperabas.
P.S. En realidad, solo tienes que git push origin master
. Lo que hace es enviar a tu maestro local al repositorio de gitolite como maestro, ya que no especificaste un nombre diferente. Si dijo git push origin master:foo
, la rama que localmente llama "maestro" se conocería como "foo" en gitolite.
P.P.S. Puede cambiar el comportamiento de inserción predeterminado entre "nada", "coincidencia" (predeterminado), "seguimiento"/"ascendente" y "actual". Consulte la configuración de "push.default" en el git-config man page.
Gracias por esta explicación. Solo quiero agregar un enlace a la documentación de git en Refspec aquí: https://git-scm.com/book/en/v2/Git-Internals-The-Refspec Y también agregar que esta es una herramienta útil para empujando una rama, espacio de nombres o incluso repositorio diferente en la rama de un control remoto. He encontrado que esto es útil para automatizar el proceso de enviar activos estáticos a gh-páginas después de compilar con Jekyll para que admita complementos allí. – prufrofro