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: