Tanto Git rebase como git merge realizan la misma tarea, fusionar la rama de características con la rama de trabajo, pero de una manera muy diferente. En este artículo, discutiremos ambos, sus beneficios y diferencias, y su flujo de trabajo típico.
¿Dónde se usa?
Considere una situación en la que está trabajando en una función en su rama mientras su amigo está trabajando en la otra, y ambos necesitan fusionar los cambios en el repositorio principal. En esta condición, deberá optar por las funciones Git rebase o git merge, pero que se adapte perfectamente a usted. Echemos un vistazo más profundo para analizarlo. La vista pictórica para la condición anterior podría ser la siguiente:
fusionar
La opción más sencilla para fusionar las ramas es usar el comando git merge. Git merge salvaguarda las historias de ambos repositorios. Puede usar el siguiente comando de combinación para combinar su rama. Vaya a su directorio principal y luego escriba estos comandos:
git checkout feature git merge main
O puedes escribir
git merge feature main
¿Como funciona?
Básicamente, crea una nueva «compromiso de función», salvaguardando el historial de ambas ramas y dándole una estructura como esta: –
Ventaja
El comando Merge es un comando no destructivo. En este comando, las ramas existentes no se modifican de ninguna manera y, por lo tanto, cubre todas las trampas o deméritos de Git Rebase.
Desventaja
Además de ser fácil, también hay muchos inconvenientes en git merge. Considere una condición en la que tiene que trabajar regularmente en la rama principal y tener una rama principal muy activa, en tales condiciones, el historial de confirmación se desordenará, lo que resultará en una experiencia dolorosa para que los desarrolladores comprendan el registro o el historial de confirmación.
Git Rebase
La alternativa a git merge es la opción git rebase. En esto, reorganizamos toda la rama de funciones para fusionarla con la rama principal. Siga los siguientes comandos para realizar la confirmación de fusión: –
git rebase main
¿Como funciona?
Git rebase en realidad vuelve a basar la rama de funciones y la fusiona con la rama principal. En palabras simples, mueve toda la rama de características a la punta de la rama principal. La representación pictórica se parece un poco a esto: –
Ventaja
El principal beneficio de usar git rebase es que proporciona un historial de combinación más limpio. Funciona de forma lineal, eliminando las confirmaciones de combinación innecesarias, a diferencia de git merge. Hace que sea más fácil moverse por el historial de registro y comprender los cambios.
Desventaja
El mayor escollo con git rebase es que no puede ver cuándo se realizaron los cambios ascendentes y se incorporaron a la rama de funciones. Si muchos desarrolladores están trabajando en esto y lo modificas, entonces git podría considerar que los cambios anteriores que se realizaron son diferentes a los que estaban trabajando anteriormente.
Git: diferencia entre fusionar y reorganizar
Fusión Git |
Git Rebase |
---|---|
Git Merge fusiona dos ramas para crear una rama de «característica». | Git Rebase reorganiza la rama de funciones para agregar la rama de funciones a la rama principal. |
Git Merge es comparativamente fácil. | Git Rebase es comparativamente más difícil. |
Git Merge salvaguarda el historial. | Git Rabse no salvaguarda la historia. |
Git Merge es más adecuado para proyectos con la rama principal menos activa. | Git Rebase es adecuado para proyectos con ramas principales frecuentemente activas. |
Git Merge forma una estructura similar a una string. | Git Rebase forma una estructura lineal. |
Git Merge es preferible para grandes no. de personas que trabajan en un proyecto. | Git Rebase es preferible para pequeños grupos de personas. |
El comando de una sola línea es: característica principal de combinación de git |
El comando de una sola línea es: git rebase principal |
Publicación traducida automáticamente
Artículo escrito por geeky01adarsh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA