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.
- Abra su cuenta web de GitHub y navegue hasta el repositorio que desea clonar.
- Toque el botón
Código
y copie la URL según su protocolo de autenticación. En nuestro caso, utilizaremos el proxyHTTPS
.
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
.
- Cambiar entre sucursales
- Cancelar un cambio
- 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
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:
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 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.
LinkedInArtículo relacionado - Git Checkout
- Consultar una sucursal remota de Git
- Diferencia entre Git Checkout --Track Origin/Branch y Git Checkout -B Branch Origin/Branch
- Git Checkout VS Pull
- Ignorar cambios de archivos locales en Git
- Retroceder a una confirmación anterior en un repositorio público de Git