tipos tag remove practices etiquetas crear best git version-control git-merge

remove - git tags best practices



Consigue cambios de maestro a sucursal en Git (9)

En mi repositorio tengo una rama llamada aq que estoy trabajando.

Entonces cometí nuevos trabajos y bugs en master .

¿Cuál es la mejor manera de obtener esos compromisos en la rama aq ? ¿Crear otra nueva rama del master y fusionarla con aq ?


Cualquiera que sea la rebase o la combinación es correcta, pero si tiene múltiples confirmaciones en su sucursal aq, la reorganización o la combinación contendrá otros cambios en las personas cuando envíe una solicitud de extracción, o qué pasa si aplasta las confirmaciones en una sola confirmación, así que creo Una forma (no la mejor, pero muy segura y clara)

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


Debería ser capaz de obtener git merge origin/master cuando esté en su rama aq.

git checkout aq git merge origin/master


Echa un vistazo a la rama aq , y rebase del master .

git checkout aq git rebase master


No hay garantía de que las correcciones de errores principales no se encuentren entre otras confirmaciones, por lo que no puede simplemente fusionar. Hacer

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

Asumiendo que esas confirmaciones representan las correcciones de errores.

De ahora en adelante, sin embargo, mantenga las correcciones de errores en una rama separada. Podrás solo

git merge hotfixes

cuando quieras enrollarlos todos en la rama dev normal.


O bien cherry-pick los compromisos relevantes en la rama aq o fusione el master rama en la rama aq .


Para mí, ya tenía cambios en su lugar y quería lo último de la rama base. No rebase hacer rebase , y cherry-pick habría tardado una eternidad, así que hice lo siguiente:

git fetch origin <base branch name> git merge FETCH_HEAD

así que en este caso:

git fetch origin master git merge FETCH_HEAD


Primero echa un vistazo a master

git checkout master

Haga todos los cambios, revisiones y confirmaciones y empuje a su maestro.

Vuelve a tu rama, ''aq'', y fusiona el maestro en ella:

git checkout aq git merge master

Tu sucursal estará al día con el maestro. Un buen y básico ejemplo de fusión es 3.2 Git Branching - Basic Branching and Merging .


Usted tiene un par de opciones. git rebase master aq en la rama que mantendrá los nombres de confirmación, pero NO REBASE si esta es una rama remota. Puede git merge master aq si no le importa mantener los nombres de confirmación. Si desea mantener los nombres de confirmación y es una rama remota, git cherry-pick <commit hash> los confirmaciones en su rama.


Fusionar con aq

git checkout master git pull git checkout aq git merge --no-ff master git push