De acuerdo con la página del manual de git push :
git push origin experimental
Encuentre una referencia que coincida experimentalen el repositorio de origen (lo más probable es que encuentre refs/heads/experimental), y actualice la misma referencia (p refs/heads/experimental. Ej. ) En el repositorio de origen con ella.
Si experimentalno existiera de forma remota, se crearía .
Esto es lo mismo que:
git push origin experimental:refs/heads/experimental
Cree la rama experimentalen el repositorio de origen copiando la experimentalrama actual .
Este formulario solo es necesario para crear una nueva rama o etiqueta en el repositorio remoto cuando el nombre local y el nombre remoto son diferentes ; de lo contrario, el nombre de referencia por sí solo funcionará.
O, como se menciona en el consejo de git , puede configurar un "control remoto predeterminado de la sucursal":
Puede usar git config para asignar un control remoto predeterminado a una rama determinada. Este control remoto predeterminado se usará para impulsar esa rama a menos que se especifique lo contrario.
Esto ya está hecho cuando usa git clone, lo que le permite usar git push sin ningún argumento para empujar la rama maestra local para actualizar la rama maestra del repositorio de origen.
git config branch.<name>.remote <remote>
se puede usar para especificar esto manualmente.
Jan sugiere (para git> = 1.7.0 ) la opción push -u(o push --set-upstream):
Para cada rama que esté actualizada o que se haya enviado correctamente, agregue una referencia ascendente (seguimiento), utilizada por git-pull (1) sin argumentos y otros comandos.
De esa manera, no tienes que hacer ninguna configuración de git.
git push -u origin experimental