Obtener cambios de maestro en twig en Git

En mi repository tengo una twig llamada aq que estoy trabajando.

Luego cometí un nuevo trabajo y errores en el master .

¿Cuál es la mejor manera de get esos commits en la twig de aq ? Crear otra nueva twig de master y fusionarla con aq ?

Mira la twig aq , y la rebase desde el master .

 git checkout aq git rebase master 

Deberías poder simplemente git merge origin/master cuando estás en tu twig de aq.

 git checkout aq git merge origin/master 

Primero echa un vistazo al máster:

 git checkout master 

Realice todos los cambios, revisiones y confirmaciones y presione su maestro.

Regrese a su twig, 'aq', y fusione el maestro en ella:

 git checkout aq git merge master 

Su sucursal estará actualizada con el maestro. Un buen y básico ejemplo de fusión es 3.2 Git Branching – Basic Branching and Merging .

No hay garantía de que las correcciones de errores maestros no estén entre otras confirmaciones, por lo tanto, no se puede fusionar simplemente. Hacer

 git checkout eq git cherry-pick commit1 git cherry-pick commit2 git cherry-pick commit3 ... 

asumiendo que esas confirmaciones representan las correcciones de errores.

A partir de ahora, sin embargo, mantenga las correcciones de errores en una twig separada. Podrás simplemente

 git merge hotfixes 

cuando quieras pasarlos a la twig de desarrollo regular.

O bien cherry-pick las confirmaciones relevantes en branch aq o fusiona la twig master en branch aq .

Para mí, ya tenía cambios y quería lo último de la twig de base. No rebase hacer la rebase , y cherry-pick hubiera tomado una eternidad, así que hice lo siguiente:

 git fetch origin <base branch name> git merge FETCH_HEAD 

entonces en este caso:

 git fetch origin master git merge FETCH_HEAD 

Cualquiera que sea la rebase o combinación es correcta, pero qué pasa si tienes múltiples commits en tu branch aq, la rebase o merge contendrá otras personas cambios cuando envíes pull request, o qué pasa si squash the commits en una commit, así que creo que tengo una forma (no la mejor manera, pero muy segura y clara)

 # 1. Create a new remote branch A base on last master # 2. Checkout A # 3. Merge aq to A 

Usted tiene un par de opciones. git rebase master aq en la twig que mantendrá los nombres de los commit, pero NO REBASE si se trata de una twig remota. Puedes git merge master aq si no te importa save los nombres de los commits. Si desea conservar los nombres de los commits y se trata de un git cherry-pick <commit hash> remoto de la sucursal git cherry-pick <commit hash> en su sucursal.