Diferencia entre Git Checkout y Git Clone

John Wachira 15 febrero 2024
  1. el comando git clon
  2. el comando git checkout
Diferencia entre Git Checkout y Git Clone

Este artículo analiza las diferencias entre los comandos git checkout y git clone en Git. Si viene del entorno SVN, es posible que se sienta confundido ya que el equivalente de git clone en SVN es svn checkout.

Al final de este artículo, tendrá todo lo que necesita para navegar por un repositorio de Git con los comandos git checkout y git clone.

Comenzaremos definiendo cada comando y discutiendo el flujo de trabajo. Saltemos directamente.

el comando git clon

El comando git clone solo tiene una función. Cuando se invoca, crea una copia de un repositorio remoto en nuestra máquina local.

Acepta la URL de un repositorio remoto como parámetro. Esta es la sintaxis común para el comando.

$ git clone <URL>

Veamos un ejemplo.

Suponiendo que tenemos un repositorio Sample-Repo remoto alojado en GitHub, ¿cómo podemos hacer una copia del mismo en nuestra máquina local?

Utilizaremos el comando git clone en tal escenario. Como mencionamos, el comando requiere la URL del repositorio remoto.

Si no está seguro de cómo obtener la URL, siga los pasos a continuación.

  1. Abra su cuenta web de GitHub y navegue hasta el repositorio que desea clonar.
  2. Toque el botón Código y copie la URL según su protocolo de autenticación. En nuestro caso, utilizaremos el proxy HTTPS.

URL remota

Para clonar el repositorio, abra su terminal, navegue hasta el directorio que desea clonar y ejecute el comando, como se ilustra a continuación.

$ git clone https://github.com/Wachira11ke/Sample-Repo.git

Esto creará una copia local del repositorio remoto en nuestra máquina. Lo más probable es que utilice el comando git clone una vez en un proyecto.

Pasemos al comando git checkout.

el comando git checkout

A diferencia del comando git clone, el comando git checkout tiene más de un uso, y probablemente lo usará a diario cuando trabaje en un proyecto.

Aquí hay tres usos comunes para el comando git checkout.

  1. Cambiar entre sucursales
  2. Cancelar un cambio
  3. Crear nuevas sucursales

Crear una sucursal con git checkout

Usualmente usamos el comando git branch para crear nuevas ramas. Sin embargo, también podemos usar el comando git checkout para crear una rama.

El comando git branch solo crea una nueva rama, mientras que el comando git checkout crea una nueva rama y cambia a la rama recién creada.

Veamos un ejemplo.

¿Cómo lo hacemos si queremos crear una rama de característica en nuestro Sample-Repo recién clonado con el comando git checkout?

Ejecutaremos el comando, como se muestra a continuación.

$ git checkout -b feature

rama característica

Cambiar entre sucursales con git checkout

El comando git checkout es útil cuando queremos cambiar entre ramas en Git. ¿Cómo asumiríamos que queremos volver a la rama maestra?

Ejecutaremos el comando git checkout, como se ilustra a continuación.

$ git checkout master

Cancelar un cambio con git checkout

También podemos usar el comando git checkout para cancelar los cambios realizados en un archivo que aún no está comprometido. Veamos un ejemplo.

Cambiaremos el archivo run.py en nuestro Sample-Repo. Al ejecutar el comando git status, obtenemos:

árbol de trabajo

Podemos ver que Git ha sugerido utilizar el comando git checkout para descartar los cambios realizados en el archivo run.py.

$ git checkout run.py

Esto descartará los cambios realizados en el archivo y lo revertirá a su último estado comprometido.

En conclusión, los comandos git checkout y git clone difieren. El comando git clone hará una copia de un repositorio remoto en nuestras máquinas locales, y lo más probable es que lo usemos solo una vez.

Por otro lado, el comando git checkout tiene varios usos, y lo utilizaremos a diario.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Checkout

Artículo relacionado - Git Clone