Gestión de ramas remotas en GIT

Una nota muy básica sobre la gestión de ramas en el servidor pero que siempre me olvido y tengo que ir buscando cómo resolver.



Traer una nueva rama al repositorio local

Nos encontramos en la situación siguiente:

Hemos clonado un proyecto desde la URL https://git.example.com/project.git pero, en lugar de trabajar desde la rama por defecto, queremos que nuestra área de trabajo se posicione en la rama de desarrollo del repositorio remoto.

Por simplicidad, tanto la rama de desarrollo en el repositorio remoto como la rama de desarrollo en el repositorio local se denominarán develop.

Para lograr esto, como primer paso, traeremos la información del repositorio remoto a nuestro repositorio local con el comando fetch.

$ git fetch --all
Fetching origin
remote: Counting objects: YY, done.
remote: Compressing objects: 100% (YY/YY), done.
remote: Total YY (delta WW), reused 0 (delta 0)
Unpacking objects: 100% (YY/YY), done.
De https://git.example.com/project
* [new branch]      develop    -> origin/develop

Se puede observar que el comando fetch ‑‑all detecta la existencia de la rama develop en el repositorio remoto origin y la descarga. En el caso de existir más ramas en el repositorio remoto, estas también serán descargadas.

Una vez descargadas las ramas del repositorio remoto, para traer la rama develop del repositorio remoto al área de trabajo, creando una rama de nombre develop en el repositorio local utilizamos el comando checkout ‑b:

$ git checkout -b develop origin/develop
Branch develop set up to track remote branch develop from origin.

Al aplicar este comando hemos conseguido establecer el seguimiento (trancking) entre la rama develop del repositiorio y la rama develop en el repositorio remoto origin.

La indicación de tracking significa que todos los pushes realizados en nuestra rama develop local actualizarán por defecto la rama develop del repositorio remoto origin.

Subir una rama local al servidor remoto

Este caso es el opuesto al anterior.

Esto es, tenemos un proyecto que hemos bajado de un repositorio remoto originy, sobre este repositorio remoto, queremos subir una nueva rama develop que hasta el momento sólo existe en nuestro repositorio local.

En este caso, el primer paso consiste en posicionar nuestro repositorio local en la rama develop a través del comando checkout.

$ git checkout develop
Switched to branch 'develop'

Luego, subimos la rama del repositorio local en la que estamos posicionados con el nombre develop en el repositorio origin utilizando el comando push al cual le incorporamos la opción ‑u para incorporar el tracking.

$ git push -u origin develop
Counting objects: XXXX, done.
Compressing objects: 100% (YY/YY), done.
Writing objects: 100% (YY/YY), ZZZZ bytes, done.
Total YY (delta WWW), reused 0 (delta 0)
To https://git.example.com/project.git
* [new branch]      develop -> develop

Esto puede verificarse con el comando git branch ‑vv.

José Administrator
Sorry! The Author has not filled his profile.
follow me

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *