Git fusiona dos sucursales locales

147

Tengo la rama Master, la rama A y la rama B. Ahora estoy trabajando en la rama A y necesito fusionar la rama A con la rama B y proceder a mi trabajo en la rama A. Todos los archivos se ingresan en las ramas A y B.

¿Cuál es la forma rápida de implementarlo?

usuario3127896
fuente

Respuestas:

247

Si entendí tu pregunta, quieres unirte branchBa ella branchA. Para hacerlo, primero realice el pago branchAcomo se muestra a continuación,

git checkout branchA

Luego ejecute el siguiente comando para fusionarse branchBen branchA:

git merge branchB
Abimaran Kugathasan
fuente
3
Necesitamos asegurarnos de que las ramas A y B existan en el repositorio local. Solo entonces podemos realizar la fusión.
Santhosh
8
La pregunta es explícita:I have branch Master, branch A and branch B.
LeeGee
166

Aquí hay una imagen clara:

Suponiendo que tengamos la rama A y la rama B

Queremos fusionar la rama B en la rama A

on branch-B -> A: switch to branch-A

on branch-A: git merge branch-B
Mahmoud Zalt
fuente
32
esto no es más claro en absoluto, solo publique la entrada del terminal, es mucho más fácil de entender
lopu
9
Esto no es una respuesta lo suficientemente clara ... ¿qué significa "actualizar la rama B" ... hay muchas maneras de hacerlo, cuál? ... en lugar de cambiar git checkout branch-A es más comprensible
Erdinç Çorbacı
2

La respuesta del Abiraman fue absolutamente correcta. Sin embargo, para los novatos a git, podrían olvidarse de extraer el repositorio. Siempre que desee hacer una fusión de la rama B en la rama A. Primero realice el pago y extraiga de la sucursal B (asegúrese de que su sucursal se actualice con la sucursal remota)

git checkout branchB
git pull

Ahora su sucursal local B se actualiza con la sucursal remota B Ahora puede pagar a la sucursal A

git checkout branchA

Ahora está en la rama A, luego puede fusionarse con la rama B utilizando el siguiente comando

git merge branchB

fuente
0

Si usted u otro desarrollador no trabajará más en branchB, creo que es mejor mantener los commits para realizar reversiones sin dolores de cabeza. Entonces ;

git checkout branchA
git pull --rebase branchB

Es importante que la rama B ya no se use.

Para más ; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/

Erdinç Çorbacı
fuente
1
En su título, la pregunta se refiere a repositorios locales, para los cuales pullno funcionará.
LeeGee
2
Tienes razón, solo pensé que agregar este conocimiento sería una ventaja porque probablemente la sucursal local será empujada al final. Pero me perdí el punto que indicaste, mejor agregaría esto como un comentario, no como una respuesta. Gracias por avisarme.
Erdinç Çorbacı
0

en la rama B hacer $git checkout branchApara cambiar a la rama A

en branchA do $git merge branchB

Eso es todo lo que necesitas.

Dapo Momodu
fuente