git workflow de git

Me pregunto cuál es el flujo de trabajo adecuado para las sucursales y cómo extraerlo del máster.

Creé una twig y tengo files con modificaciones. En el maestro, he hecho algunas correcciones de errores que necesito en mi sucursal. Cuando trato de sacar mi IDE, me advierte que los cambios en mi twig serán sobrescritos y que debo comprometerme primero, sin embargo, no estoy en un punto en el que deba comprometerme.

¿Cuál es el flujo de trabajo adecuado para las sucursales con modificaciones que necesito extraer de master?

Si desea realizar cambios en un tree "sucio", puede simplemente git stash y completar su git merge ... Una vez hecho esto, puedes restaurar tus cambios con git stash pop .

Me gustaría aclarar algunas cosas:

  1. La primera "extracción" en la terminología de git solo se aplica cuando se fusionan los cambios de una sucursal remota a su sucursal local, pero no entre sus sucursales locales. En el caso de las sucursales locales, se fusionará o rebase.

  2. si está teniendo una twig principal con algunas correcciones de errores y alguna twig de desarrollo en la que (estoy hablando de twigs locales ahora) está desarrollando alguna característica nueva, entonces parece que la twig maestra es una cadena ascendente para su twig de desarrollo. Por lo tanto, para preservar el historial como una línea recta en su twig de desarrollo y también para tener una fusión rápida de su twig de desarrollo en la twig principal en el futuro, le recomendaría usar rebase en lugar de fusionar.

Es decir, en lugar de:

 git checkout dev git merge master 

Tu harías

 git checkout dev git rebase (-i) master 

El argumento "-i" es opcional – activa la rebase interactiva. Por supuesto, esto también debe ejecutarse en el directory de trabajo limpio. Sin embargo, el punto es que con git no tienes que seguir trabajando en el directory sucio durante mucho time, no tienes que acumular cambios. Puede asignar fácilmente sus cambios como pequeñas unidades de un solo propósito a sus sucursales locales y luego limpiarlas más tarde usando rebase interactivo

de git rebase docs :

Supongamos que existe el siguiente historial y la twig actual es "tema":

  A---B---C topic / D---E---F---G master 

A partir de este punto, el resultado de cualquiera de los siguientes commands:

 git rebase master git rebase master topic 

sería:

  A'--B'--C' topic / D---E---F---G master 

NOTA: El último formulario es solo una abreviatura del tema de pago de git seguido de git rebase master. Cuando rebase exits topic seguirá siendo la twig de check-out.