git: Cómo crear una twig de mi trabajo actual, pero quédate en mi twig original

Estoy en una sucursal (digamos maestro) y tengo algunos cambios en mi directory de trabajo. Obtengo cosas que funcionan, pero que necesitan mucha limpieza, así que me gustaría save mi directory de trabajo actual en una sucursal por si tengo que volver. Definitivamente voy a eliminar la twig más tarde.

Además, quiero seguir trabajando en el maestro EXACTAMENTE donde estaba.

Ahora mismo lo hago:

# Save to topic branch git checkout -b working-stuff git commit -a -m "work in progress" # go back to master and continue with the state is was in before git checkout master git checkout -- . git reset 

Más tarde, eliminaré la twig de tema.

Entonces, lo anterior hace exactamente lo que quiero, pero es un poco detallado. ¿Hay una forma más simple de hacer esto (además de simplemente crear un script)?

Puedes usar

  git stash 

Del manual

Use git stash cuando quiera registrar el estado actual del directory de trabajo y el índice, pero quiera volver a un directory de trabajo limpio. El command guarda sus modificaciones locales y revierte el directory de trabajo para que coincida con la confirmación HEAD.

Con git stash escondes tus modificaciones, luego puedes aplicarlas de nuevo con:

  git stash apply 

O puede enumerar sus modificaciones escondidas con:

  git stash list 
  $ git agregar barra

 estado $ git
 # En la twig maestro
 # Cambios que se comprometerán:
 # (use "git reset HEAD ..." para abandonar la escena)
 #
 # file nuevo: barra
 #

 $ git branch newbar $ (echo wip | git commit-tree \
   $ (git write-tree) -p $ (git rev-parse HEAD))

 $ git lola --name-status
 * e3f88c8 (newbar) wip
 |  Un bar
 * a7b1a76 (CABEZA, maestro) foo
   Un foo 

El hecho de que puedas no significa que debas .

Para completar: si quieres una twig adecuada (que tenga algunas ventajas sobre un alijo), no necesitas usar commands de plomería, también puedes hacer:

 git add -A . git commit -m "dirty" git branch dirtybranch git reset --hard HEAD^