Por que tenho que “git push --set-upstream origin <branch>”?
Criei uma filial local para testar o Solaris e o Sun Studio. Eu então empurrei o ramo a montante. Após confirmar uma alteração e tentar enviá-la:
$ 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 que tenho que fazer algo especial para isso?
Existe algum caso de uso razoável em que alguém criaria<branch>
, empurre o<branch>
para remoto e, em seguida, reivindique uma confirmação em<branch>
não deveria ser para<branch>
?
Eu segui esta pergunta e resposta no Stack Overflow:Envie uma nova ramificação local para um repositório Git remoto e rastreie-a também. Suponho que seja outra instância de uma resposta aceita incompleta ou errada. Ou, é outra instância do Git pegando uma tarefa simples e dificultando.
Aqui está a visão em uma máquina diferente. A ramificação existe claramente, portanto foi criada e enviada por push:
$ 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