2010-03-22 6 views
16

Estoy trabajando en un proyecto y pasé todas mis pruebas en la rama principal. Luego hice algunos cambios, y cuando todo comenzó a fallar, me di cuenta de que tal vez debería haber hecho esos cambios en una rama diferente. ¿Hay alguna manera de que pueda enviar los cambios a una nueva rama sin comprometerlos con mi rama principal, de modo que el maestro todavía tenga mis pruebas de aprobación?Git: ¿Puedo asignar mi directorio de trabajo a una nueva rama sin comprometerla con una sucursal actual?

Respuesta

23

Sí, basta con crear la nueva rama y comprobar que funciona:

$ git checkout -b new-branch 

luego confirmar cualquier cambio que tenga. Se aplicarán a la nueva sucursal de check-out.

+0

bien grande .. no he entendido bien esa sección de la documentación. ¡Gracias! – noli

+0

Puede cambiar las ramas generalmente con archivos modificados sin problemas, notará que muestra una lista de archivos modificados/agregados/borrados cuando realiza la compra en una rama diferente como un recordatorio de que el árbol de trabajo no está limpio. Creo que en algunos casos se te puede impedir hacerlo. Aquí se cambia a una nueva rama para que sea segura. Cuando no funcione, puede intentar almacenar (git stash) y luego aplicar el alijo en la otra rama, para tener un directorio limpio al momento de pagar. –

+0

@faB no finalizará la restauración de mi directorio de trabajo a la versión de esa rama que pagas? Estoy un poco preocupado de perder cosas con el comando de pago solo para poder comprometerme en otra rama – nus

4

Usted puede esconder los cambios actuales (GIT) de alijo, cambiar a la nueva rama, y ​​luego aplicar los cambios a la nueva rama usando

git stash pop 
Cuestiones relacionadas