Git: cambiar de twig en medio del trabajo

Por varias razones (revisión de código en su mayoría), necesito pasar de la twig de desarrollo actual a otras twigs con bastante frecuencia.

Actualmente, utilizo 'git stash' para dejar de lado los cambios no confirmados, pago por otra twig, luego cambio y hago 'git stash apply'

Sin embargo, a veces tengo algunos files recién agregados allí, que no se rastrean. Desafortunadamente, esconderse no los afecta. En este caso, tendría que agregarlos al índice y savelos.

Lo que busco aquí es un flujo de trabajo en el que tenga que realizar un set mínimo de acciones para cambiar las twigs, preferiblemente evitando agregar files al índice.

puede clonar el repository en otro directory y de forma pnetworkingeterminada en la sucursal que desee:

# assume your original repo is in myproj $ git clone myproj myproj_clone --branch my_branch 

Si luego vas a la carpeta myproj_clone , estará en tu sucursal

 $ cd myproj_clone $ git branch * my_branch 

Puede clonar el repository y revisar / trabajar en el clon. Borre el clon cuando haya terminado. Si realiza cambios en la bifurcación / clonación, puede rechazarlos. Creo que un clon local es barato. E incluso si no fuera así, el espacio en disco es aún más barato que tu time.

No estoy seguro de que la clonación sea la solución correcta, pero dado que 2 respuestas proponen que está en el cerebro, entonces estoy ofreciendo una modificación sobre ese tema. la clonación puede no ser barata. En términos de espacio en disco, es irrelevante, pero el clon en sí puede demorar varios segundos y es demasiado time para desperdiciarlo en una operación innecesaria. Como alternativa, puede simplemente crear un nuevo directory de trabajo usando el viejo directory de trabajo git. es decir, si su actual directory de trabajo es "a" (con cambios y files sin etapas), intente:

 $ mkdir ../b
 $ cd ../b
 $ echo 'gitdir: ../a/.git'> .git
 $ git checkout -f foo

Ahora b es efectivamente un clon de a, en branch foo, y tienes dos directorys en funcionamiento para jugar. Haz lo que necesites en branch foo en el directory de trabajo b, luego ve a a y revisa la twig en la que estabas cuando saliste.