Git: ¿Cómo presionar desde "ninguna twig" a una nueva twig remota?

Yo si:

git co upstream/master # To no branch. <then did a trivial edit on some file...> git commit -a -m "Trivial edit" git push origin NewBranch 

Pero tengo esto:

 $ git push origin ignore-netbeans-config error: src refspec ignore-netbeans-config does not match any. 

¿Puedo ingresar a una nueva sucursal sin crear una nueva?

Vamos a aclarar algunos detalles pequeños primero:

  1. Una twig es una "ref" bajo el espacio de nombres refs/heads . Solo ls .git/refs/heads y cat los files para ver lo que quiero decir.
  2. Una label es "ref" bajo el espacio de nombres refs/tags . Solo ls .git/refs/tags para verlo usted mismo.
  3. HEAD simplemente otro "ref", pero es especial en el aspecto de que puede ser "simbólico". Solo cat .git/HEAD y vea lo que dice.

Una operación de push opera en una "ref", y la "asignación" pnetworkingeterminada conserva el espacio de nombres. Esto significa que cuando presiono una twig, aparecerá como una twig en el control remoto; cuando presiono una label, aparecerá como una label en el control remoto. Considere los siguientes escenarios:

  1. Quiero presionar la label moo y hacer que aparezca como una twig en el server remoto (sí, básicamente estoy "convirtiendo" una label en una twig). Así es como lo haré:

    git push origin moo:refs/heads/moo

  2. Git necesita una forma de diferenciar entre impulsos rápidos y no rápidos, para que las personas no terminen sobrescribiendo el trabajo de otras personas por error. Digamos que quiero presionar las twigs master , next y pu , de las cuales solo pu no es ff. Así es como lo haré (tenga en count que debe proporcionar un mapeo explícito cuando usa + ):

    git push origin master next +pu:pu

  3. Ahora, vamos a tu pregunta. Desea presionar su HEAD para que aparezca en el espacio de nombres refs/heads en el control remoto como una twig llamada "ignore-netbeans-config". Si esta twig no existía antes, o si está sobrescribiendo algunos commits en ella (es decir, push no-ff), use + . De lo contrario, no. Resultado final:

    git push origin +HEAD:refs/heads/ignore-netbeans-config

Versión TL; DR: git push origin +HEAD:refs/heads/ignore-netbeans-config

tratar

 git push origin HEAD:refs/heads/ignore-netbeans-config