elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Union de 2 ramas dev's en git
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Union de 2 ramas dev's en git  (Leído 2,590 veces)
fabiru23

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Union de 2 ramas dev's en git
« en: 26 Julio 2021, 23:02 pm »

Buen día!
Una pregunta sobre git...

Alguien sabe si se pueden unir una rama "dev" con otra rama "dev2"?
He unido una rama dev con master, pero al tratar de unir una rama dev con otra dev2 no me da el resultado no se si esto es posible, alguien que me saque de la duda.

Gracias!!


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Union de 2 ramas dev's en git
« Respuesta #1 en: 26 Julio 2021, 23:42 pm »

Si, puedes unir las ramas que quieras con git merge.

Código
  1. git checkout dev
  2. git merge dev2

Y más adelante puedes unirla de vuelta a master

Código
  1. git checkout master
  2. git merge dev

O también puedes hacer un merge de las 3 ramas:

Código
  1. git checkout master
  2. git merge dev dev2

(esto es si no quieres hacer el merge de dev2 a dev y luego de dev a master)


« Última modificación: 26 Julio 2021, 23:45 pm por MinusFour » En línea

fabiru23

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Union de 2 ramas dev's en git
« Respuesta #2 en: 27 Julio 2021, 00:09 am »

Gracias!! voy a intentar lo que pasa es que no me salen los cambios....


Tengo la rama master con un archivo
-Hago una rama "dev" para agregar una funcionalidad (archivo.js) y hago commit-1
-Hago otro commit en la rama dev (commit-2) deonde se elimino (archivo.js)
Pero resulta que me regreso al comit-1 porque siempre si quiero (archivo.js), y al momento de regresar hago un checkout commit-1, y hago un commit (commit-3)pero este commit head no esta ni en "master" ni en "dev" si no en una rama aparte, lo que hago es checkout -b "dev2" para que crear una rama nueva y el commit que hice (commit-3) quede ligado a la rama dev-2.
tons una vez que ya tengo los cambios (archivo.js) en dev-2(commit-3) me cambio a rama "dev" que quedo en (commit-2) donde no esta el archivo, y  quiero hacer merge con rama "dev2" donde si esta el archivo (archivo.js)
y no me dice que esta actualizado pero no esta mi archivo

Espero y me de a entender jejeje.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Union de 2 ramas dev's en git
« Respuesta #3 en: 27 Julio 2021, 00:49 am »

Usar git checkout para regresar al commit anterior y seguir realizando commits desde ese punto no es la mejor de las ideas.

Para eso existe git reset.

1. Commit en Master (A).
2. Nueva rama dev.
3. Commit en dev (B) (archivo.js).
4. Commit en dev (C) (borras archivo.js).
5. git reset HEAD^ --hard o git reset B --hard
6. Ahora estás en B.

Y ahora puedes seguir haciendo commits.

Como tu lo estás haciendo, los cambios entre dev2 y dev borran el archivo.

En tu ejemplo, tienes otro commit (D) que hace otros cambios. De:

Código:
B--C (borraste archivo)
 \
  D (otros cambios)

Si haces una unión de C y D, vas a crear un merge commit (E).

Código:
B - C
 \   \
  D - E

Donde se agregan los cambios de de C y D (es un merge de 3 puntos), respectivamente.  Git ve que eliminaste un archivo en C y no se que hayas hecho en D pero también lo ve.

Entonces los cambios los agrega y el resultado es o un merge conflict (porque editaste el archivo en D y git no sabe que cambios usar, si los de D o los de C) o tu archivo acaba borrado (porque esos son los cambios introducidos por C).

No tienes porque hacer git merge en este caso. Simplemente, olvidate del commit que existe. Si has hecho lo del git checkout forza la cabeza de la rama dev a que apunte al commit D. Lo puedes hacer haciendo:

Código
  1. git branch -f dev
estando sobre el commit D o
Código
  1. git branch -f dev D
para ser más especifico.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
2 ramas de git con un solo archivo diferente...
GNU/Linux
Kase 0 1,809 Último mensaje 10 Abril 2012, 11:22 am
por Kase
Ramas de la informática.
Dudas Generales
Agustime 1 4,873 Último mensaje 7 Noviembre 2012, 04:56 am
por CloudswX
Ramas del hacking
Foro Libre
Baal_30 0 2,218 Último mensaje 11 Octubre 2015, 15:31 pm
por Baal_30
Las 10 ramas tecnológicas con más ofertas de trabajo
Noticias
wolfbcn 0 913 Último mensaje 8 Noviembre 2018, 01:42 am
por wolfbcn
Trabajando con las ramas de git (tercera parte)
Programación General
MinusFour 1 13,172 Último mensaje 8 Mayo 2023, 05:28 am
por KenshiII
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines