Cambiar de twig sin comprometer el código de trabajo

Estoy usando git para el repository de código fuente y el código actual en un estado desorderado y quiero cambiar a otras twigs para un poco de trabajo. El problema es que no quiero hacer un compromiso de trabajo a medio hacer, entonces, ¿cómo puedo volver a este punto más adelante?

Tienes dos opciones para hacer esto.

Opción 1: Crear el parche para el código de trabajo y verificar que todo el código de trabajo cambie a otra sucursal.

Opción 2: – Puedes esconder tus twigs. Haga clic aquí para get más detalles, ejemplo: http://www.gitguys.com/topics/temporarily-stashing-your-work/

Puedes usar git stash para "descartar" cambios por un time y luego, cuando quieras restaurar tus cambios anteriores usa git stash pop *

También puede (y es más seguro) comprometer su trabajo WIP (Work In Progress), cambiar a otra twig, hacer su trabajo, volver a la twig original, finalizar el trabajo original y luego aplastar sus commits en solo uno.
Recuerde que comprometerse no es igual a empujar, por lo que puede tener un historial desorderado localmente pero, una vez que se vuelva a basar y aplastar, usted (y su equipo) solo verán la versión limpia.

* presta atención porque si ocultas más de una vez, git pop mostrará solo el último alijo. En este caso, necesitas usar git pop stash@{<revision>}

Si tiene el git más nuevo (> = ver.2.5.0), puede usar git worktree .

Con el siguiente command, puede extraer un tree de trabajo temporal para usar.

git worktree add sourcetree_dir branch_name

Después de terminar su trabajo en esta twig, puede usar el siguiente command para eliminarlo.

git worktree podar

Puedes esconder tus twigs. Aquí hay un ejemplo: http://www.gitguys.com/topics/temporarily-stashing-your-work/

¿No puedes simplemente crear otro directory y clonar la twig deseada en él?

Si tiene un time de ejecución configurado para usar un directory particular, conviértalo en un enlace al directory de clonación de twigs con el que está trabajando actualmente. De esta forma, podría tener más de una sucursal localmente sin mucha reorganización de sus resources locales (solo una secuencia de commands simple para volver a vincular el directory utilizado por su server / time de ejecución).

Usando la línea de command, respuesta corta:

 git stash git checkout otherBranch 

Si el brach está en el origen usa:

 git checkout origin otherBranch .. do your changes/commits .. git stash apply 

Con git stash apply , recuperas tus cambios anteriores. Podrías encontrar conflictos de fusión … arreglarlos y volver a cometerlos.