Clonar subdirectorio del repositorio Git

Azhar Bashir Khan 31 mayo 2022
Clonar subdirectorio del repositorio Git

Este tutorial le enseñará cómo clonar un subdirectorio de un repositorio de Git.

Git, un sistema de control de versiones, mantiene el historial de los cambios realizados en el directorio de un proyecto. En un entorno típico de desarrollo de proyectos, se segregarían diferentes módulos de proyectos en diferentes subdirectorios.

Entonces, solo se puede verificar o clonar un subdirectorio de módulo de proyecto específico. Podemos utilizar la característica sparse-checkout proporcionada por Git para tales fines.

Ahora ilustraremos esto con un ejemplo.

Subdirectorio de clonación o pago en el repositorio en Git

Git se usa en un entorno de desarrollo colaborativo para realizar un seguimiento de los cambios realizados en los archivos en el directorio del proyecto. Uno mantendría diferentes módulos de proyecto en subdirectorios separados dentro del directorio principal del proyecto en el entorno de desarrollo del proyecto.

El repositorio de Git rastrearía este directorio principal del proyecto y, por lo tanto, uno puede clonar o verificar todo el directorio del proyecto. Por lo general, diferentes equipos trabajarían en diferentes módulos de proyecto en un proyecto grande.

Por lo tanto, en tales casos, no sería necesario consultar todo el directorio del proyecto. Bastaría con clonar solo el subdirectorio del módulo del proyecto en el que está trabajando un equipo en particular.

La clonación solo de subdirectorios específicos (es decir, un subconjunto del repositorio Git del proyecto se denomina sparse checkout. Podemos retirar solo los subdirectorios que queramos del directorio del proyecto en el repositorio de Git en un sparse checkout.

Supongamos que tenemos un directorio de proyectos llamado my_project. En el directorio del proyecto my_project, hay subdirectorios para diferentes módulos llamados frontend, backend, documentación, etc.

Solo queremos hacer checkout o clonar el subdirectorio del módulo frontend. Por lo tanto, ahora primero crearemos un directorio para el repositorio, de la siguiente manera.

$ mkdir my_project
$ cd my_project

Después de crear el directorio del proyecto, ahora inicializaremos el repositorio de Git y agregaremos la URL remota, de la siguiente manera.

$ git init
$ git remote add -f origin https://github.com/johndoe/my_project.git

Debemos habilitar pagos dispersos para solo pagar o clonar subdirectorios del directorio principal del proyecto.

Podemos usar el comando git config para lograr lo mismo. Necesitamos usar el comando git config de la siguiente manera.

$ git config core.sparsecheckout true

Ahora podemos decirle a Git qué subdirectorios queremos revisar.

Por lo tanto, para habilitar solo el pago del subdirectorio frontend, debemos incluirlo en el archivo .git/info/sparse-checkout.

$ echo "frontend/" >> .git/info/sparse-checkout

Ahora, podemos obtener los archivos del repositorio remoto de Git.

$ git pull origin master

Ahora, tenemos en el árbol de trabajo solo el subdirectorio frontend del proyecto principal, my_project.

Por lo tanto, hemos aprendido a clonar o retirar solo subdirectorios específicos de un repositorio de Git en Git.

Para mayor información por favor visite:

  1. git-init
  2. git-read-tree
  3. git-sparse-checkout

Artículo relacionado - Git Clone