Saltar al contenido principal
InicioTutorialesGit

Rama remota de Git Checkout: Guía paso a paso

Para hacer git checkout de una rama remota, primero tienes que obtener los últimos cambios del repositorio remoto, luego puedes hacer checkout de la rama remota localmente utilizando su nombre completo (por ejemplo, origen/nombre-rama).
Actualizado 18 sept 2024  · 4 min leer

Cuando necesitamos trabajar en una rama de un repositorio remoto, como el trabajo de un colega o la rama de una nueva característica, nos enfrentamos al reto de acceder a esa rama y actualizarla localmente.

Afortunadamente, Git simplifica este proceso ofreciendo comandos sencillos para crear una copia local de la rama remota. Esto nos permite cambiar a la rama deseada, contribuir y colaborar eficazmente con el equipo.

Para una respuesta rápida, para comprobar una rama llamada , ejecutamos:

git fetch origin <branch_name>
git checkout -b <branch_name> origin/<branch_name>

En este artículo, exploramos estos comandos y aprendemos cómo funcionan con más detalle.

El Proceso en Dos Pasos: git fetch y git checkout

Para empezar a trabajar en una rama remota localmente, primero tenemos que asegurarnos de que nuestro repositorio local está actualizado con el repositorio remoto. Entonces, podemos crear una copia local y empezar a trabajar en esa rama.

Actualizar el repositorio local

Para actualizar el repositorio local, utilizamos el comandogit fetch . Su forma más sencilla no utiliza argumentos:

git fetch

Cuando se utiliza sin argumentos, el comando git fetch recupera todas las ramas del repositorio remoto por defecto. Aunque esto incluye la rama que queremos, también ocupará más espacio en el disco local.

Si nos preocupa el espacio en disco, podemos especificar la rama que queremos recuperar pasándola como parámetro al comando:

git fetch origin <branch_name>

Sustituye por el nombre de la rama deseada. El parámetro origin especifica el nombre del repositorio remoto. Por defecto, cuando clonamos un repositorio, el remoto se llama origen.

Es importante tener en cuenta que actualizar las referencias remotas con fetch no afectará a ninguno de los archivos locales ni causará conflictos. A nivel local, existen dos entidades distintas:

  • El directorio de trabajo actual
  • El repositorio local

Nuestros cambios y confirmaciones actuales se encuentran en el directorio de trabajo actual. Estos son los archivos que vemos cuando abrimos el directorio del repositorio en nuestro ordenador. No se actualizan con git fetch. Sólo se actualiza el repositorio local, que puede considerarse como una copia oculta del repositorio remoto en nuestra máquina local.

Consultar una rama remota

Con una copia actualizada del repositorio remoto, ahora podemos crear una copia local de una rama remota utilizando el comando git checkout:

git checkout -b <branch_name> origin/<branch_name>

Sustituye por el nombre de la rama remota deseada. El primer parámetro después de -b es el nombre que queremos que tenga la rama local. Convencionalmente, utilizamos el mismo nombre para ambas, pero podríamos utilizar cualquier otro nombre, siempre que ninguna otra sucursal local tenga ese nombre:

git checkout -b <local_branch_name> origin/<branch_name>

Tras ejecutar correctamente este comando, Git cambiará el directorio de trabajo actual a esta rama, y estaremos listos para empezar a trabajar en ella.

git checkout vs git switch

El comando git checkout existe desde los inicios de Git. Su alcance va más allá de crear copias locales de ramas o cambiar de una rama a otra. Por ejemplo, puede obtener archivos específicos del repositorio remoto.

En versiones recientes de Git, se creó un comando git switch cuyo único propósito es crear copias locales de ramas remotas y cambiar entre ramas locales.

Recomiendo utilizar git switch en lugar de git checkout porque las capacidades ampliadas de git checkout a veces pueden dar lugar a errores.

Para aprender a realizar las mismas acciones que hemos aprendido en este artículo utilizando git switch, puedes leer este tutorial: Cambiar de rama Git: Guía con ejemplos prácticos.

Conclusión

Crear localmente una copia local de una rama Git remota es muy importante para la colaboración. Utilizando git fetch y git checkout, podemos actualizar nuestro repositorio local con los cambios remotos y cambiar a la rama deseada.

Mientras que el clásico git checkout proporciona una funcionalidad robusta, el comando más reciente git switch ofrece una alternativa racionalizada específica para la gestión de sucursales, reduciendo el riesgo de errores.

Preguntas frecuentes

Recibo un error: "por favor, confirma tus cambios o guárdalos antes de cambiar de rama". ¿Cómo lo arreglo?

Git nos impide cambiar a otra rama si la rama actual tiene cambios no comprometidos. Resolver este problema implica almacenar nuestros cambios actuales o confirmarlos. 

Para comprometerlos utilizamos el siguiente comando:

git commit -m "Commit message"

Alternativamente, si queremos conservar los cambios sin confirmarlos todavía, podemos utilizar el comando git stash para guardar temporalmente nuestro trabajo:

git stash

Más tarde, podremos volver a aplicarlas tras volver a la rama original y utilizar el comando git stash pop.

¿Y si la rama remota tiene el mismo nombre que una rama local?

Los nombres de las ramas deben ser únicos con Git. Si obtenemos un error diciendo que la rama ya existe, significa que hay una rama local que tiene el mismo nombre. Esto puede significar dos cosas:

  1. Ya hemos comprobado antes esta rama. En este caso, podemos pasar directamente a ella sin buscarla utilizando el comando git checkout . Observa que hemos eliminado el parámetro -b, que se utiliza para indicar que queremos crear una nueva rama. Como la rama ya existe, no necesitamos volver a crearla.
  2. En algún momento, creamos una rama diferente que resulta tener lo mismo. Podemos resolverlo utilizando un nombre de rama diferente con git checkout -b origin/.

¿Puedo hacer cambios directamente en una rama remota?

No, los cambios en una rama de Git se hacen creando primero una copia local de una rama, como hemos aprendido antes, y luego creando confirmaciones que representen los cambios que queremos.

¿Cómo actualizo mi rama local con los últimos cambios remotos?

Para actualizar nuestra rama local con los últimos cambios de su correspondiente rama remota, solemos utilizar el comando git pull:

git pull origin 

Esto realiza tanto un git fetch como un git merge para actualizar nuestra rama local. Nos enteramos de que git fetch actualizaba el repositorio local con la última versión remota. El comando git merge fusiona esos cambios en nuestra rama local. Para más detalles, consulta este tutorial Git push y pull.

Obtengo un error: "rama remota no encontrada". ¿Cómo lo arreglo?

Este error indica que la rama no existe en nuestra copia local del repositorio. Así que

  1. La rama no existe, lo que podría indicar un error tipográfico en el nombre de la rama o que se trata de una rama antigua que ya fue eliminada.
  2. El repositorio local no está actualizado. Como hemos aprendido antes, podemos actualizarlo utilizando git fetch.

Photo of François Aubry
Author
François Aubry
LinkedIn
Enseñar siempre ha sido mi pasión. Desde mis primeros días como estudiante, busqué con entusiasmo oportunidades para dar clases particulares y ayudar a otros estudiantes. Esta pasión me llevó a realizar un doctorado, en el que también trabajé como ayudante de profesor para apoyar mis esfuerzos académicos. Durante esos años, encontré una inmensa satisfacción en el entorno tradicional del aula, fomentando las conexiones y facilitando el aprendizaje. Sin embargo, con la llegada de las plataformas de aprendizaje en línea, reconocí el potencial transformador de la educación digital. De hecho, participé activamente en el desarrollo de una plataforma de este tipo en nuestra universidad. Estoy profundamente comprometida con la integración de los principios de la enseñanza tradicional con metodologías digitales innovadoras. Mi pasión es crear cursos que no sólo sean atractivos e informativos, sino también accesibles para los alumnos en esta era digital.
Temas

¡Más información sobre Git!

Course

Introduction to Git

4 hr
38.6K
Familiarize yourself with Git for version control. Explore how to track, compare, modify, and revert files, as well as collaborate with colleagues using Git.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Git rename branch: Cómo cambiar el nombre de una rama local o remota

Aprende a renombrar ramas Git locales y remotas utilizando el terminal o la interfaz gráfica de usuario (GUI) de clientes populares como GitHub.
François Aubry's photo

François Aubry

tutorial

Git pull force: Cómo sobrescribir una rama local con una remota

Aprende por qué git pull --force no es la mejor forma de sobrescribir una rama local con la versión remota, y descubre el método adecuado utilizando git fetch y git reset.
François Aubry's photo

François Aubry

tutorial

Tutorial de Git Revert y Git Reset para principiantes

Una guía tutorial para principiantes que muestra cómo utilizar los comandos Git Revert y Reset.
Zoumana Keita 's photo

Zoumana Keita

10 min

tutorial

Tutorial de GIT Push y Pull

Aprende a realizar solicitudes de Git PUSH y PULL con GitHub Desktop y la línea de comandos.

Olivia Smith

13 min

tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona el control de versiones Git y por qué es crucial para los proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu

Esta es una guía para principiantes diseñada para ahorrarte dolores de cabeza y un tiempo valioso si decides instalar R tú mismo.
Francisco Javier Carrera Arias's photo

Francisco Javier Carrera Arias

6 min

See MoreSee More