Clon superficial en Git en Linux

Git es un software basado en seguimiento que se utiliza para rastrear los cambios realizados en un proyecto. Es un sistema de control de versiones distribuido. Los desarrolladores de software lo utilizan para colaborar en el código fuente de forma remota. Esto permite a los desarrolladores crear el software incluso cuando son profesionales que trabajan y contribuyen al código abierto.

¿Qué es Shallow Clone en Git?

Shallow Clone on Git resuelve el problema de los grandes archivos binarios de git. Algunos proyectos tienen tamaños enormes, pero el clon superficial reduce el tamaño del git. Un clon superficial especifica la profundidad a la que el desarrollador quiere llegar y git obtendrá solo los archivos más recientes hasta que el usuario quiera. En el clon superficial, no obtenemos todas las revisiones en el git. Eso a veces es beneficioso pero a veces problemático. Porque podemos entrar en conflicto con los archivos porque no tenemos el historial de revisiones.

Entendamos Shallow Clone en Git a través de varios ejemplos:

Ejemplo 1 : clone Django como normal y como un clon superficial para ver la diferencia de tamaño

En el siguiente ejemplo, clonaremos Django normalmente y como un clon superficial para ver la diferencia de tamaño.

Paso 1 : Clona el repositorio de Django.

git clone https://github.com/django/django.git

Paso 2 : use el siguiente comando para verificar el tamaño.

du -sh django/

La salida es la siguiente:

 

Paso 3: clonación superficial del mismo repositorio de Django.

git clone --depth 1 https://github.com/django/django.git

Paso 4 : use el siguiente comando para verificar el tamaño.

du -sh django/

La salida es la siguiente:

 

Por lo tanto, hay una gran diferencia. El original tiene 303 MB y el poco profundo tiene solo 80 MB.

Ejemplo 2 : clone el scikit-learn como normal y como un clon superficial para ver la diferencia de tamaño

En el siguiente ejemplo, clonaremos el scikit-learn como normal y como un clon superficial para ver la diferencia de tamaño.

Paso 1 : Clona el repositorio de scikit-learn.

git clone https://github.com/scikit-learn/scikit-learn.git

Paso 2 : verifique el tamaño usando el siguiente comando.

du -sh scikit-learn/

La salida es la siguiente:

 

Paso 3 : Shallow Clona el repositorio de scikit-learn.

clon de git: profundidad 1 https://github.com/scikit-learn/scikit-learn.git

Paso 4 : Comprueba el tamaño.

du -sh scikit-learn/

La salida es la siguiente

 

Nuevamente, hay una gran diferencia en los tamaños de los repositorios, ya que el original tiene 166 MB, mientras que el clon superficial tiene solo 31 MB.

Ejemplo 3: clonar varias ramas del repositorio de Django

En el siguiente ejemplo, usaremos el indicador –no-single-branch. De forma predeterminada, el clon superficial asume la profundidad de una sola rama, pero si no se proporciona un indicador de rama única, la profundidad se aplica a todas las ramas. Así que clonaremos superficialmente varias ramas del repositorio de Django.

Paso 1 : use el siguiente comando para un cono poco profundo con múltiples ramas.

git clon –profundidad 1 –no-single-branch https://github.com/django/django.git 

Paso 2 : Ahora verifique el tamaño:

du -sh Django/

La salida es la siguiente:

 

Paso 3 : Podemos ver el aumento drástico en el tamaño debido a las múltiples ramas. Para verificarlos ingrese el siguiente comando:

cd django && git branch -a

La salida es la siguiente:

 

Por lo tanto, podemos ver que obtuvimos todas las ramas con sus detalles con –no-single-branch. De ahí el aumento del tamaño del repositorio.

Publicación traducida automáticamente

Artículo escrito por manavsarkar07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *