¿Puede download en una sucursal remota sin tirar de los files?

Necesito crear una twig huérfana vacía desde otra twig remota.
El problema es que si pago en la sucursal principal, extraerá los files y luego se includeán en la sucursal huérfana. ¿O importa de qué twig se crea otra twig, si quiero agregar esos cambios a una twig en particular?

¿Hay alguna forma de crear una twig huérfana desde una twig sin que se haya registrado en esa twig? Después de agregar el control remoto, intenté ejecutar

git checkout --orphan orphan_branch parent_branch 

pero me da un error " Cannot update paths and switch to branch 'orphan_branch' at the same time. " Cannot update paths and switch to branch 'orphan_branch' at the same time.

¿O es posible ejecutar " git remote add origin giturl " y terminar en una twig que no sea la twig principal?

Si quieres ir de:

  x--x--x--x--x (origin/master) \ Y--y--y (origin/abranch) 

a una sucursal huérfana local:

 Y--y--y (abranch) 

Necesitas:

  • crea una sucursal huérfana vacía

     git checkout --orphan abranch 
  • escoge la twig remota :

     git cherry-pick Y^..origin/abranch 

Dependiendo de su caso, puede encontrar Y (el primer commit desde origin/abranch no en origin/master ) con " cómo encontrar el primer commit de una twig específica ":

 git log origin/master..origin/abranch --oneline | tail -1 

Si origin/abranch tiene una sola base de combinación como se muestra arriba, entonces use git merge-base para encontrar Y^ (commit primario de Y , ya que cherry-pick no incluye el primer commit).

 git cherry-pick $(git merge-base origin/master origin/abranch)..origin/abranch 

¿O importa de qué twig se crea otra twig, si quiero agregar esos cambios a una twig en particular?

Una twig es solo un puntero y ayuda a hacer reference a todos los commits accesibles desde su HEAD. Si una twig se genera a partir de otra, eso significa que todas las demás confirmaciones de twig también son parte de la nueva twig.
Consulte " Uso de twigs " y " Git Branching – Branches in a Nutshell ".

Lo mejor es fusionar una twig en la twig de donde proviene (no exactamente una twig "principal" ya que no existe un concepto de antepasados ​​para las twigs)

  x--x--x--x--x--M (master) \ / Y--y------y (abranch) 

Si no lo hace, eso significa que el oyu es el método de selección o el rebase, que es más complejo y arriesga la duplicación de compromisos.
Eso iría de:

  x--x--x--x--x (master) \ p--p--p (anotherbranch) \ Y--y--y (abranch) 

Para (con git rebase --onto master $(git merge-base anotherbranch abranch) abranch ):

  Y'--y'--y' (abranch) / x--x--x--x--x (master) \ p--p--p (anotherbranch) 

Entonces puedes avanzar abranch de abranch a master .

Para experimentar un poco más con las twigs, consulte " Aprender Git Branching ".