2010-06-21 6 views
15

Comencé una tarea simple en la rama principal. ya sabes el tipo de tarea donde "esto es demasiado simple incluso para molestar con una sucursal git" ... el resultado inevitable fue que ahora tengo mucho trabajo sin terminar en la rama maestra y necesito trabajar en otras cosas. ¿Cómo muevo mi trabajo actual a una nueva sucursal?¿Cómo muevo mi trabajo actual a una rama temática?

Respuesta

21

Puede cambiar ramas con un árbol sucio, siempre que el interruptor no implique la modificación de archivos sucios. Dado que va a crear una nueva rama se garantiza que no:

git checkout -b new-branch 

Una vez que hayas hecho esto se puede confirmar y volver al maestro. También puede comprometerse primero, aunque es ligeramente más trabajo, porque es necesario para deshacer maestro para antes de la confirmación:

git commit 
git branch new-branch 
git reset --hard HEAD^ 
+0

+1 Me he preguntado si podría hacer ¡ese! –

+0

Siempre he supuesto que no puedes hacer esto :) feliz de estar equivocado :) –

11

Usted podría git stash it!

git stash 

el cambio a la nueva rama:

git checkout -b new-branch 

pop cuando haya terminado:

git stash pop 

A menos que ya les obligaba. ¿Tuviste?

+0

no, no habían cometido –

+0

entonces es fácil. Simplemente use git stash y obtendrá un directorio de trabajo limpio. Haga sus cambios, comprométase, etc., cuando haya terminado, git stash pop. Si no hay conflictos, eso es todo. De lo contrario, puede seguir la documentación en el enlace "git stash". Aunque no entendí la parte de la rama de tu edición. –

+0

el objetivo era hacer que las partes sucias de la rama maestra se convirtieran en las partes sucias de la rama nueva y dejar la limpieza maestra. –

Cuestiones relacionadas