¿Eres un recién llegado a un equipo y te han indicado que debes revisar una rama remota del repositorio de código Git? Ya sea parte de una empresa extensa o un equipo compacto, dominar las ramas remotas de Git es clave para una colaboración de código sin problemas. En esta guía, profundizarás en el proceso de recuperar código de un repositorio remoto de Git, centrándote en el comando ‘git checkout remote branch’.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
Prerrequisitos
- Este tutorial utiliza la versión 2.30 de Git SCM (gestión de código fuente) en Windows 10, aunque es compatible con cualquier sistema operativo compatible con Git.
Otros posibles métodos de instalación para Windows incluyen Chocolatey y Git4Win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
Comprensión de una rama remota
Los repositorios de Git registran y rastrean una secuencia de commits relacionados dentro de una rama. Por defecto, un commit reside en la rama activa actualmente, generalmente denominada “main” o “master”.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.
Descubre las sucursales disponibles usando el comando branch
de Git. La sucursal marcada con un asterisco (*
) es la activa. Las sucursales enumeradas a continuación son únicamente locales ya que no se han descargado sucursales remotas aún.

git branch
command.Domina la verificación de sucursales remotas de Git
Supongamos que tienes un repositorio Git local y surge la necesidad de colaborar con otros desarrolladores. Aquí es donde entra en juego el comando checkout
de Git, permitiéndote obtener los últimos commits de una sucursal remota en un repositorio Git remoto.
Una vez que una sucursal remota está configurada, Git reflejará la sucursal remota en lugar de una sucursal solo local. A continuación se muestra un ejemplo del comando git checkout remote <branch>
.
Clona el repositorio Git remoto
Ahora que tienes a tu disposición un repositorio existente, es hora de sumergirse. Sigue los pasos a continuación para clonar el repositorio remoto en una carpeta local en tu máquina.
1. A menudo es más sencillo clonar un repositorio remoto a través de la URL HTTPS en lugar de SSH para evitar problemas de certificados y cortafuegos.
- Dirígete al repositorio en GitHub.
- Haz clic en el botón Code y selecciona HTTPS.
- Haz clic en el icono Clipboard junto al enlace para copiar la URL en tu portapapeles.

2. Habiendo copiado la URL de HTTPS a tu portapapeles, abre una interfaz de línea de comandos utilizando tu CLI preferida, como el Símbolo del sistema de Windows o el Terminal de Windows.
3. Navega hasta la carpeta donde deseas que resida el repositorio clonado. Para este tutorial, se utiliza la carpeta git en el directorio principal, como se muestra en las capturas de pantalla. Ejecuta el siguiente comando para clonar el repositorio, lo que crea una subcarpeta que alberga el repositorio remoto.

4. Desplázate al repositorio clonado con el comando cd git-checkout-remote-branch
.
Ejecuta el siguiente comando de estado para asegurarte de que el repositorio se haya clonado correctamente. El comando status
de Git revela las diferencias entre la rama local y la rama remota, ayudando a determinar si tu rama está conectada y actualizada. ¡El control remoto Git predeterminado se llama origin
, con prefijo a la rama remota main
. git status

Para la mayoría del software Git moderno,
main
es la rama principal predeterminada. Es posible que encuentres una aplicación más antigua que utilicemaster
como nombre predeterminado de su rama, pero ambos nombres son funcionalmente iguales. Este tutorial utiliza ramas con nombres comomain
,RemoteBranch
,SomeBranch
yAnotherBranch
.
¿Qué es un remoto en Git y cómo hacer un seguimiento de ramas remotas?
Clonar un repositorio crea automáticamente una referencia a una fuente remota, conocida como un remoto. Esta referencia se utiliza para verificar nuevos commits o enviar nuevos cambios al repositorio remoto.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
Hacer un seguimiento de una rama remota establece una relación con una rama local. Esta relación te permite enviar o recibir commits de manera sencilla desde la rama remota a la rama local. Además, una rama seguida determina cuántos commits adelante o atrás está la rama local con respecto a la remota.
Lista de remotos de un repositorio Git
En primer lugar, asegúrate de que el repositorio con el que estás trabajando tenga algún remoto de Git. Para hacer esto, visualiza los remotos de Git en tu repositorio con el comando git remote
como se muestra a continuación. En este caso, se muestran dos remotos, origin
y remote2
.

Dos repositorios remotos adicionales rastreados se llaman
origin
yremote2
, donde tus remotos pueden ser diferentes.
Para obtener más detalles sobre los remotos configurados, añade el interruptor v
para mostrar la URI completa del remoto de Git.

Te preguntarás por qué hay URI separadas para
fetch
ypush
. Algunos flujos de trabajo en Git te permiten verificar actualizaciones en un repositorio en una URI diferente a donde podrías enviar cambios, esto se llama el flujo de trabajo triangular.
Visualización de Ramas Remotas Disponibles
Muestra todas las ramas disponibles, tanto locales como remotas, en tu repositorio con el comando branch
. Para mostrar también las ramas remotas, agrega el interruptor all
, como se ejemplifica a continuación.
En la imagen siguiente, el repositorio remoto origin utilizado en este tutorial se muestra como se esperaba. Sin embargo, esta imagen omite todas las ramas del remoto llamado Remote2.

Si una rama en tu remoto no aparece en la lista de ramas, debes actualizar tu lista de ramas remotas disponibles según se explica en la siguiente sección.
Actualización de las Ramas Remotas Disponibles
A veces, un repositorio remoto puede añadir o alterar ramas. Para asegurarte de que estás trabajando con las ramas más actualizadas, es necesario ejecutar el comando git fetch
.
El comando fetch
se conecta al repositorio remoto, recuperando una lista de todas las ramas disponibles. Vea las ramas actualmente rastreadas después de ejecutar el comando git fetch
para asegurarse de que la rama remota ahora sea visible, como se muestra a continuación.
A continuación, la rama remotes/origin/RemoteBranch
ahora es visible en la lista de ramas remotas disponibles después de ejecutar el comando git fetch
.

git fetch
to update the list of available remote branches.El comando fetch
solo verifica actualizaciones desde el remoto que está actualmente rastreado en la rama actual. Para que Git verifique actualizaciones desde todos los remotos en el repositorio, independientemente del estado de seguimiento, agregue el parámetro all
.
Para obtener las ramas disponibles de un remoto específico, incluya el nombre del remoto en el comando git fetch
, como Remote2
en el ejemplo a continuación, que recupera la rama main
.

main
from remote2
with the git fetch
command.Cada vez que revisas actualizaciones remotas con
git fetch
,git pull
, ogit push
, Git compara los commits con la rama remota. Las ramas locales pueden seguir cualquier rama remota de Git. Además, varias ramas locales pueden configurarse para seguir la misma rama remota.
Visualizando el Seguimiento Remoto de Cada Rama
Para ver la rama remota seguida junto con la correspondiente rama local, utiliza el parámetro vv
con el comando git branch
. Los resultados del comando muestran una lista de remotos y ramas en el formato [<remoto>/<rama>]
como se ilustra a continuación.

Modificando el Seguimiento Remoto de una Rama
Puede que sea necesario modificar tu rama local para seguir una rama remota diferente. Para establecer tu rama actual en una rama remota específica, utiliza el parámetro u
, como se ilustra a continuación.

Revisando Ramas Remotas de Git
Con nuevas ramas creadas en el repositorio Git remoto, es posible que necesites realizar una operación de git checkout remote branch. El checkout de una rama de repositorio remoto se ejecuta a través del checkout
comando.
Si se cumplen las siguientes condiciones, Git determinará autónomamente el control remoto correcto, descargará una copia local de la rama remota y establecerá la copia local para hacer seguimiento de la rama remota. Verifique que las siguientes condiciones no se cumplan a través de los resultados del comando git branch --all
.
- A local branch with the same name does not already exist.
- No existen múltiples remotos que utilicen el mismo nombre de rama remota.
Para realizar la operación de git checkout en una rama remota, utilice el comando git checkout
y escriba el nombre de la rama remota como se muestra a continuación.

git checkout
.Si su repositorio local ya contiene una rama local con el mismo nombre, agregue el parámetro b
para especificar un nombre de rama local alternativo antes de la rama remota a verificar.

Si su repositorio local tiene múltiples remotos con el mismo nombre de rama, especifique qué remoto y rama seguirá los commits locales.

Las versiones futuras de Git posiblemente prefieran que utilice el comando
git switch
para cambiar y crear ramas. El comandoswitch
de Git es solo para ramas, mientras que el comando checkout de Git tiene muchas habilidades. Irshad S. escribió un buen artículo introductorio sobre la razón si desea leer más al respecto.
Empujar una Rama Local a un Remoto
Al crear una rama local sin una rama remota correspondiente para realizar el seguimiento, puedes enviar la rama al remoto utilizando el comando git push
. El método más directo para establecer una nueva rama en tu remoto preferido es empleando el parámetro u
.
El parámetro u
, como se utilizó anteriormente, requiere los argumentos del nombre del repositorio y la rama fuente. Al especificar únicamente HEAD
como el nombre de la rama fuente, Git comprende que debe usar el nombre de la rama local actual como el nombre en el remoto, en este caso, NewBranch
.

HEAD
es un atajo que simplemente significa la rama actual. Puedes enviar otras ramas al remoto y establecer el seguimiento utilizando su nombre en lugar deHEAD
.
En ocasiones, el nombre de la rama local actual no coincide con el nombre de la rama remota. Para utilizar un nombre distinto, especifica el nombre deseado de la rama después de la fuente, unido por dos puntos, como se muestra a continuación.

Próximos Pasos y Recursos Adicionales de Git
Habiendo revisado los fundamentos de Git, la gestión de remotos y la ejecución de git checkout remote branch, ahora estás equipado con un tesoro de conocimientos que te ayudarán a evitar frustraciones futuras. Los pasos para hacer checkout de una rama remota en Git y las mejores prácticas compartidas serán recursos invaluables para el futuro.
Si deseas profundizar en otros aspectos de la gestión de un repositorio Git, se recomiendan encarecidamente los siguientes recursos:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git switch: Un comando dedicado al manejo de ramas, a diferencia del versátil
checkout
de Git.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/