Cómo pagar una sucursal remota de Git

Publicado: 2023-01-23
Computadora portátil Linux que muestra un indicador de bash
fatmawati achmad zaenuri/Shutterstock.com
Para retirar una rama de un repositorio remoto, use el comando 'git fetch' y luego 'git branch -r' para listar las ramas remotas. Elija la rama que necesita y use un comando de la forma 'git checkout -b new-branch-name origin/remote-branch-name'. Si usa varios repositorios, cambie la parte de 'origen' del comando de pago al nombre del control remoto desde el que desea pagar la sucursal.

Si su equipo de desarrollo usa Git, eventualmente necesitará verificar el trabajo de otra persona como una rama desde un repositorio remoto. Como la mayoría de las acciones de sucursal en Git, cambiar a una sucursal remota es bastante simple.

Tabla de contenido

Git, sucursales y controles remotos
Encontrar sus sucursales locales
Comprobación de una sucursal remota
Manejo de conflictos de nombres
Manejo de múltiples repositorios remotos
Antes de pagar

Git, sucursales y controles remotos

La filosofía de Git es bifurcarse a menudo. Las ramas permiten que se lleve a cabo el desarrollo sin alterar la base del código principal. Cuando esté satisfecho de que su nuevo código probado está listo, fusione su nueva rama en otra rama. Por lo general, esta es la rama principal o maestra, pero puede fusionar dos ramas cualesquiera.

Debido a esta flexibilidad, y la forma ligera y rápida en que Git maneja las ramificaciones y fusiones, se transformó la ramificación. En los sistemas de control de versiones anteriores, la ramificación era un gran problema. La ramificación y la fusión eran lentas y propensas a errores. Git les dio a los desarrolladores una bifurcación fácil y rápida que se usa para respaldar muchos flujos de trabajo diferentes.

Si trabaja o se ofrece como voluntario como parte de un equipo de desarrollo que usa Git, tendrá un repositorio de Git "central", alejado de la computadora de cada ingeniero de software. Esto se conoce como el repositorio remoto, o simplemente el "remoto". Es donde se envían las confirmaciones y los cambios a su repositorio local cuando realiza una inserción.

Por supuesto, eso es lo que están haciendo los otros desarrolladores también. Esto facilita la colaboración. Si necesita acceder al trabajo de otro desarrollador, simplemente recupere su código de una sucursal en el repositorio remoto. Si necesitan acceder a su trabajo, recuperarán su código de una sucursal en el repositorio que rastrea una de sus sucursales locales.

En Git, un proyecto de desarrollo puede tener varios controles remotos. Sin embargo, una sucursal local solo puede rastrear una única sucursal remota. Por lo tanto, mientras esté trabajando con el control remoto apropiado, verificar una sucursal remota con varios controles remotos es lo mismo que usar un solo control remoto.

Encontrar sus sucursales locales

Es necesario evitar conflictos de nombres. Si tiene una sucursal local que tiene el mismo nombre que la sucursal remota que va a verificar, tiene dos opciones. Puede cambiar el nombre de su sucursal local y consultar la sucursal remota. De esa forma, su sucursal local que rastrea la sucursal remota tiene el mismo nombre que la sucursal remota. O bien, puede verificar la rama remota y decirle a Git que cree una rama de seguimiento local con un nuevo nombre.

Para averiguar los nombres de las sucursales en su repositorio local, use el comando git branch .

 rama git 

Listado de sucursales locales con el comando git branch

Este repositorio local tiene una rama maestra y otras tres ramas. El asterisco indica cuál es la rama actual. Pasar de una sucursal a otra requiere verificar la sucursal con la que desea trabajar.

 nueva característica de git checkout
 estado de Git 

Revisando una sucursal local con el comando git checkout

El primer comando cambia la rama por nosotros, de modo que "nueva característica" es la rama actual. El comando git status verifica eso por nosotros.

Podemos saltar de una sucursal a otra, realizar nuevos cambios, extraer actualizaciones del control remoto y enviar actualizaciones locales al control remoto.

RELACIONADO: Cómo actualizar y mantener ramas separadas de Git

Comprobación de una sucursal remota

Hay una rama en el repositorio remoto que no está presente en nuestra máquina. Una desarrolladora llamada Mary ha creado una nueva característica. Queremos cambiar a esa sucursal remota para poder construir esa versión del software localmente.

Si realizamos una fetch , Git recuperará los metadatos del repositorio remoto.

 buscar 

Usando el comando git fetch para recuperar los metadatos sobre un repositorio remoto

Debido a que esta es la primera fetch que hemos hecho desde que Mary empujó su rama al repositorio remoto, se nos dice que hay una nueva rama llamada "origin/mary-feature". El nombre predeterminado para el primer repositorio remoto agregado a un proyecto es "origen".

Ya sea que veamos este mensaje o no, siempre podemos pedirle a Git que enumere las ramas en el repositorio remoto.

La opción -r (remoto) le dice a Git que informe sobre las ramas que están en el repositorio remoto.

 git rama -r 

Usando el comando git branch -r para listar sucursales remotas

El punto a tener en cuenta aquí es que Git está verificando su copia local de los metadatos del control remoto. Es por eso que usamos el comando git fetch para asegurarnos de que la copia local de los metadatos esté actualizada.

Cómo elegir el modelo de ramificación y flujo de trabajo de Git adecuado para su equipo
RELACIONADO Cómo elegir el modelo de ramificación y flujo de trabajo Git adecuado para su equipo

Una vez que localizamos la sucursal que queremos, podemos seguir adelante y verificarla. Usamos el comando git checkout con la opción -b (sucursal), seguido del nombre que usaremos para la sucursal local, seguido del nombre de la sucursal remota.

 git checkout -b mary-feature origin/mary-feature 

Comprobación de una sucursal remota con el comando git checkout -b

Podemos ver que revisamos la rama remota y creamos una rama local que rastreará los cambios en la rama remota.

 rama git 

Listado de sucursales locales con el comando git branch, con la copia recién creada de la sucursal remota seleccionada como la sucursal actual

Nuestra nueva sucursal local es ahora nuestra sucursal de trabajo actual.

Manejo de conflictos de nombres

Si tiene una sucursal local que tiene el mismo nombre que la sucursal remota, puede cambiar el nombre de su sucursal local antes de verificar la sucursal remota, o verificar la sucursal remota y especificar un nombre de sucursal local diferente.

Para retirar la sucursal remota en una sucursal local con un nombre diferente, podemos usar el mismo comando que usamos anteriormente y elegir un nuevo nombre de sucursal local.

 git checkout -b mary-test origen/mary-característica 

Comprobación de una sucursal remota con el comando git checkout -b con la sucursal local con un nombre diferente al de la sucursal remota

Esto crea una rama local llamada "mary-test" que rastreará las confirmaciones locales en esa rama. Las pulsaciones irán a la rama remota "origin/mary-feature".

Esta es probablemente la mejor manera de manejar los conflictos de nombres locales. Si realmente desea mantener el mismo nombre de la sucursal local y remota, deberá cambiar el nombre de su sucursal local antes de verificar la remota. Cambiar el nombre de una rama es trivial en Git.

 git branch -m mary-feature antigua-mary-branch 

Cambiar el nombre de una rama con el comando git branch -m

Ahora puede verificar la rama remota "origin/mary-feature".

Manejo de múltiples repositorios remotos

Si tiene varios repositorios remotos configurados, debe tener cuidado de estar trabajando con el repositorio apropiado cuando desproteja la sucursal remota.

Para enumerar sus repositorios remotos, use el comando remote con la opción -v (ver).

 git remoto -v 

Listado de repositorios remotos con el comando git remote -v

Para ver todas las sucursales disponibles, debemos obtener los metadatos de todos nuestros controles remotos y luego enumerar las sucursales remotas.

 git fetch --todos
 rama git --todos 

Usando git fetch --all para actualizar los metadatos locales y usando git branch --all para listar todas las sucursales, locales y remotas

Podemos ver que la sucursal que queremos está en el control remoto "origen". El comando para comprobarlo está en el mismo formato que ya hemos usado. Necesitamos especificar el nombre remoto, "origen", así como el nombre de la sucursal, "mary-feature".

 git checkout -b mary-feature origin/mary-feature 

Comprobación de una sucursal remota con el comando git checkout -b, usando el nombre remoto y el nombre de la sucursal

RELACIONADO: Cómo cambiar, agregar y eliminar controles remotos de Git

Antes de pagar

Antes de pagar, tenga en cuenta algunas cosas y estará bien.

Asegúrese de evitar conflictos de nombres. Si tiene una sucursal local con el mismo nombre que la sucursal remota, decida si cambiará el nombre de la sucursal local o creará una sucursal con un nombre diferente para rastrear la sucursal remota.

Si usa varios repositorios remotos, asegúrese de usar el remoto correcto.

RELACIONADO: Git rebase: Todo lo que necesitas saber