Git Trabajando con Ramas (branch)

Fecha Publicación:       27 de Junio de 2021
Fecha Modificación:       25 de Julio de 2021

Comandos:

Crea una rama

git branch nombre_rama_crear  

Listar las ramas creadas en el repositorio

git branch   

Enumera  ramas locales y remotas

Enumere tanto las sucursales de seguimiento remoto como las sucursales locales. Combine con --list  para que coincida con los patrones opcionales.

git branch -a

git branch --all 

Mostrar solo las ramas remotos

git branch -r

Mostrar solo las ramas locales

git branch -v

Movernos a otra rama

git checkout nombre_rama_movernos

Crea una rama y nos movemos a ella

crea una rama y nos movemos a ella , la creacion y el cambio de rama lo hacemos en una sola linea y con un solo comando.

git checkout -b nombre_rama

Fusionar rama con la que actualmente estamos trabajando

git merge

$ git branch
* master
  ramasecundaria
$ git merge ramasecundaria

Asociar una rama local con una rama remota existente

git branch --set-upstream-to= origin/rama_remota rama_local

Limpia las ramas remotas que ya no existan en origin

git fetch -p

Bajar todas las nuevas ramas del repositorio remoto

¿Y si ya tenemos el repositorio clonado, llevamos un tiempo trabajando en él, y un día un miembro del equipo sube una rama nueva al repositorio remoto? ¿Nos tiene que avisar? ¿Tenemos que saber cómo se llama la nueva rama? No es necesario, vamos a ver cómo tener siempre actualizadas las copias locales de las ramas remotas.

Primero hacemos un git fetch despues hacemos un git branch -a para enumerar toda las ramas locales y remotas , comparamos que rama nos falta en el repositorio local y  nos movemos a esa rama que nos falta con el comando  git checkout nombre_rama_remota  entonces git automaticamente crea la rama en el repositorio local y la vincula con su repoitorio remoto.

Referencia  https://mariogl.com/git-bajar-todas-las-nuevas-ramas-del-repositorio-remoto/  

 

Refencia : https://gist.github.com/davidportella/5749283

Porque creamos una rama diferente a la principal (main)?

Para no trabajar con el poyecto que ya esta funcionando entonces con la nueva rama creada estamos trabajando con una copia del proyecto principal.

Crear nueva rama en el repositorio local

Si queremos crear un nueva rama  en el repositorio local  usaremos el comando: 

$ git branch  nombre_de_la_nueva_rama

y al crear una nueva rama estamos copiando los archivos de la rama principal(main) pero no se visualizara en la carpeta clonada 

Crear nueva rama  en el Servidor usando el comando git push

Nota: la rama que estamos creando con el comando $ git branch esta creada en nuestro repositorio local faltaria crearlo  en el servidor y para crearlo lo haremos con el comando:

$ git push --set-upstream origin  nombre_rama 

Movernos a otra rama con checkout 

Para movernos a otra rama usaremos el comando

$ git checkout  poner_la_rama_que_deseas_cambiar

Crea una rama y nos movemos a ella

git checkout  -b  nombre_rama

Este comando git checkout -b  remplaza a los dos comandos  git branch <nombre_rama>git checkout <nombre_rama> y la creacion y el cambio de rama lo hacemos en una sola linea con un solo comando.

Eliminar una rama

Para eliminar una rama en el repositorio local usaremos el comando: 

$ git branch -D   nombre_rama_eliminar

Para eliminar una rama en el Servidor usaremos el comando: 

$ git push origin --delete  nombre_rama_eliminar

Combinar ramas con el comando git merge 

Pasar las modificaciones de la rama secundaria a la rama principal(main)

Al trabajar con un proyecto primero se crea  la rama principal (main) , y despues cremos otras ramas  secundarias para hacer las modificaciones del proyecto y no trabajar con la rama principal una vez terminado las modificaciones y estar convencidos que funcionan correctamente esos cambios tenemos que pasarlos a la rama principal (main) para eso nos ubicamos en la rama principal(main) con el comando:

$ git checkout nombe_rama_principal

 y usamos el siguiente comando para combinar las ramas:

$ git merge nombre_rama_secundaria 

Explicación: Estamos ubicados enla rama principal (main) y con el comando git merge estamos combinando sobre main lo que se encuentra en la rama secundaria , es decir vamos a agregar a la rama principal  lo que se encuentra en la rama secundaria.

Recuerda: que los cambios estan hechos en nuestra maquina local y tenemos que enviarlos al servidor en este caso GitHub utiliza el comando git status y ejecutar el comando:

$ git push 

Para enviar los cambios al servidor de GitHub.

Una vez terminado de combinar las ramas podemos eliminar las ramas secundarias Vea como eliminar ramas ☝  y nos quedaremos solo con la rama principal.

 

git: cómo mantener una rama sincronizada con "master"

El primer paso consiste en pasar a la rama principal "main" para traer los últimos cambios (commits) disponibles:

$ git checkout poner_nombre_rama_principal

Ejecutar git pull para actualizar nuestra copia de trabajo con la rama principal "main":

$ git pull

Luego volver a la rama que deseamos sincronizar con la rama principal:

$ git checkout poner_rama_a_sincronizar

Ahora es posible hacer el merge entre la rama principal "main" y  la "rama a sincronizar", para que ésta última se sincronice con los cambios realizados de la rama principal "main" luego del branch:

$ git merge poner_rama_principal  poner_rama_a_sincronizar

En caso de no haber conflictos, el merge es automático y nuestra rama "a sincronizar" queda actualizada con lo último en la rama principal "main".

Opcionalmente se puede luego enviar este cambio al servidor remoto

$ git push origin poner_rama_a_sincronizar

 

 

 

  • Para listar las ramas creadas en el repositorio.
    git branch   
  • Crea una rama
    git branch
    nombre_rama_crear  
  •  Borramos una rama local utilizando el parámetro -D 
    git branch -D nombre_rama_borrar 
  • git branch -a --> Enumere tanto las sucursales de seguimiento remoto como las sucursales locales. Combine con --list  para que coincida con los patrones opcionales.
  • git branch -all  --> Lo mismo que hace git branch -a.
  • git branch -r  --> Te muestra los branches remotos.
  • git branch -v   -->  El parametro -v te muestra los branches locales
  • git checkout nombre_rama_movernos --> Para movernos a otra rama.
  • git checkout -b nombre_rama --> crea una rama y nos movemos a ella , la creacion y el cambio de rama lo hacemos en una sola linea y con un solo comando.
  • git merge   -->  Si queremos fusionar una rama con la que actualmente estamos trabajando, utilizaremos git merge.

    $ git branch
    * master
      ramasecundaria
    $ git merge ramasecundaria
  • git branch --set-upstream-to=origin/<branch> rama_remota  -->   Asociar una rama local con una rama remota existente
  • git fetch -p    --> Limpia las ramas remotas que ya no existan en origin

Refencia : https://gist.github.com/davidportella/5749283

Articulo : 2258 - Veces Leidas
Compartir Articulo:
×

¡Apóyame suscribiéndote a mi canal!

Tutoriales sobre Diseño Web