Acabo de comenzar a usar GIT y creo que es maravilloso, sin embargo, estoy un poco confundido sobre lo que hace el merge
comando.
Digamos que tenemos un proyecto de trabajo en la rama "A".
Voy a casa y hago cambios en esta rama y la guardo como "B". Otro programador realiza cambios en "A" y lo guarda como "C".
¿Hay alguna manera de fusionar las dos ramas "B" y "C" juntas, y luego confirmar los cambios como una nueva rama, decir "D"?
¿O me estoy perdiendo el punto de 'fusión'?
Respuestas:
merge
se usa para unir dos (o más) ramas juntas.un pequeño ejemplo:
así que ahora hay tres ramas separadas (a saber, AB y C) con diferentes cabezas
para que los cambios de B y C vuelvan a A, desproteja A (ya realizado en este ejemplo) y luego use el comando de combinación:
su historial se verá así:
si desea fusionarse a través de los bordes del repositorio / computadora, eche un vistazo al
git pull
comando, por ejemplo, desde la PC con la rama A (este ejemplo creará dos nuevas confirmaciones):fuente
git add conflicting_files
y luegogit commit
Si desea fusionar cambios en SubBranch a MainBranch
git checkout MainBranch
git merge SubBranch
fuente
Caso: si necesita ignorar la confirmación de fusión creada por defecto , siga estos pasos.
Digamos, una nueva rama de características se extrae del maestro que ya tiene 2 confirmaciones,
Checkout a new feature_branch
La rama de características luego agrega dos confirmaciones ->
Ahora, si desea fusionar los cambios de feature_branch a master,
git merge feature_branch
siéntese en el master.Esto agregará todos los commits en la rama maestra (4 en master + 2 en feature_branch = total 6) + un commit de fusión adicional similar a
'Merge branch 'feature_branch'
'a medida que el master se diverge .Si realmente necesita ignorar estas confirmaciones (las realizadas en FB) y agregar todos los cambios realizados en feature_branch como una única confirmación como
'Integrated feature branch changes into master'
, Ejecutargit merge feature_merge --no-commit
.Con --no-commit, realiza la fusión y se detiene justo antes de crear una confirmación de fusión. Tendremos todos los cambios agregados en la rama de características ahora en master y tendremos la oportunidad de crear una nueva confirmación como nuestra.
Lea aquí para más información: https://git-scm.com/docs/git-merge
fuente