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.

Hemos bajado un proyecto desde la URL https://git.example.com/project.git pero, en lugar de trabajar desde la versión por defecto, queremos que nuestra área de trabajo se posicione en la rama develop del servidor utilizando una rama local que por simplicidad también denominaremos develop.

Como primer paso, traeremos la información del repositorio del servidor 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

Aquí se puede observar que el comando fetch ‑‑all detecta la existencia de la rama develop en el servidor origin y la trae sobre el repositorio local (en el caso de existir más ramas en el servidor, estas también serían copiadas al repositorio local).

Y, para traer la rama develop al área de trabajo:

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

Al aplicar este comando hemos conseguido crear una rama develop local con el contenido actual de la rama develop en el servidor origin y manteniendo el tracking. La indicación de tracking significa que todos los pushes realizados en nuestra rama develop local actualizarán la rama develop del servidor origin.

También podemos realizar la operación contraria. Esto es, si tenemos un proyecto que hemos bajado de un servidor origin, podemos subir al servidor una rama develop, que hasta el momento no existía, partiendo de una rama develop almacenada en nuestro repositorio local, con la siguiente secuencia de comandos.

El primer paso consiste en ejecutar un checkout para que nuestra área de trabajo local apunte a nuestra rama local develop.

$ git checkout develop
Switched to branch 'develop'

Y luego subimos la rama local con el nombre develop en el repositorio origin utilizando el comando push al cual le incorporamos la opción ‑u.

$ 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

Este comando también mantiene el tracking entre la rama local y la del repositorio origin, como 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 *