¿Por qué tengo que "git push --set-upstream origin <branch>"?
Creé una sucursal local para probar Solaris y Sun Studio. Luego empujé la rama río arriba. Después de cometer un cambio e intentar impulsar los cambios:
$ git commit blake2.cpp -m "Add workaround for missing _mm_set_epi64x"
[solaris 7ad22ff] Add workaround for missing _mm_set_epi64x
1 file changed, 5 insertions(+)
$ git push
fatal: The current branch solaris has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin solaris
¿Por qué tengo que hacer algo especial para esto?
¿Hay algún caso de uso razonable en el que alguien cree<branch>
, empuja el<branch>
a distancia, y luego reclamar un compromiso en<branch>
no se supone que sea para<branch>
?
Seguí esta pregunta y respuesta en Stack Overflow:Empuje una nueva sucursal local a un repositorio Git remoto y realice un seguimiento también. Supongo que es otra instancia de una respuesta aceptada incompleta o incorrecta. O bien, es otra instancia de Git que toma una tarea simple y la dificulta.
Aquí está la vista en una máquina diferente. La rama existe claramente, por lo que fue creada y empujada:
$ git branch -a
alignas
* master
remotes/origin/HEAD -> origin/master
remotes/origin/alignas
remotes/origin/arm-neon
remotes/origin/det-sig
remotes/origin/master
remotes/origin/solaris