Git merge, ¿qué rama se fusionó en la otra?


0

Digamos que tengo dos ramas como esta:

o---o---o---o---o master
\
 o---o---o feature

Si ejecuto los siguientes comandos:

$ git checkout master
$ git merge feature

¿lo que sucederá?

o---o---o---o---o master                     o---o---o---o---o master
\              /                or this       \               \   
 o---o---o---- feature                         o---o---o-------o feature  

Respuestas:


2

git merge branch_namese fusiona branch_namecon su rama actual. En su caso el resultado será

o---o---o---o---o master
\              /
 o---o---o---- feature

Y se agregará un commit de fusión master.


2

El primero, según el git-mergemanual :

Descripción

Incorpora cambios de los commits nombrados (desde el momento en que sus historias divergieron de la rama actual) en la rama actual.

[...]

Suponga que la rama actual es " master" ... Entonces " git merge topic" reproducirá los cambios realizados en la rama del tema, ya que divergió masterhasta su confirmación actual mastery registrará el resultado en una nueva confirmación junto con los nombres de las dos confirmaciones principales y un mensaje de registro del usuario que describe los cambios.

O, conservando el formato encantador de http://git-scm.com :

git fusionar información


1

La featurerama se fusionará en master. Puede probar esto rápidamente en un repositorio temporal de git.

> git init
> echo test > testfile
> cat testfile
test
> git add testfile
> git commit -m "First commit"
> git checkout -b feature
> echo test2 >> testfile
> cat testfile
test
test2
> git commit -am "Second commit"
> git checkout master
> cat testfile
test
> git merge feature
> cat testfile
test
test2

pero si creamos una rama branch2 y commit y empujamos el archivo testfile2 y luego tratamos de fusionarlo con master, fusiona testfile de feature y testfile2 de feature2 lo mismo va en push. ¿
Puedo

@insoftservice Según mi ejemplo, todas las confirmaciones se incluirán testfiledesde que estuvo presente en la primera confirmación.
Kris Harper

Gracias por sus comentarios. Si creas una nueva rama, di feature2 con un nuevo archivo, di testfile2, confírmalo y presiona feature2. pero cuando lo fusionas para dominarlo, combina testfile2 e incluso testfile
insoftservice

@insoftservice No estoy realmente seguro de lo que estás diciendo. ¿Estás diciendo que mastertendrá ambos testfiley testfile2? Ese es el comportamiento esperado, ya que testfilefue parte de la primera confirmación.
Kris Harper

sí, el archivo de prueba debe estar presente en el maestro ya que era parte de la primera rama, pero en mi caso muestra que también es parte de la segunda rama y si hay una tercera confirmación con el archivo 3, mostrará el archivo, el archivo2 y el archivo3 como parte de la tercera rama Ese es mi problema. Espero haber podido aclarar mi problema
insoftservice
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.