Cloner le sous-répertoire du dépôt Git

Azhar Bashir Khan 31 mai 2022
Cloner le sous-répertoire du dépôt Git

Ce tutoriel vous apprendra à cloner un sous-répertoire d’un dépôt Git.

Git, un système de contrôle de version, conserve l’historique des modifications apportées à un répertoire de projet. Dans un environnement de développement de projet typique, on séparerait différents modules de projet dans différents sous-répertoires.

On peut alors uniquement extraire ou cloner un sous-répertoire de module de projet spécifique. Nous pouvons utiliser la fonctionnalité sparse-checkout fournie par Git à ces fins.

Nous allons maintenant illustrer cela par un exemple.

Cloner ou sous-répertoire Checkout dans le dépôt dans Git

Git est utilisé dans un environnement de développement collaboratif pour suivre les modifications apportées aux fichiers dans le répertoire du projet. On conserverait différents modules de projet dans des sous-répertoires séparés à l’intérieur du répertoire principal du projet dans l’environnement de développement du projet.

Le dépôt Git suivrait ce répertoire de projet principal, et ainsi on peut cloner ou extraire l’intégralité du répertoire de projet. En règle générale, différentes équipes travaillent sur différents modules de projet dans un grand projet.

Ainsi, dans de tels cas, il n’est pas nécessaire d’extraire l’intégralité du répertoire du projet. Il suffirait de cloner uniquement le sous-répertoire du module de projet sur lequel une équipe particulière travaille.

Cloner uniquement des sous-répertoires spécifiques (c’est-à-dire) un sous-ensemble du dépôt Git du projet est appelé sparse checkout. Nous ne pouvons extraire que les sous-répertoires que nous voulons du répertoire du projet dans le dépôt Git dans un sparse checkout.

Supposons que nous ayons un répertoire de projet nommé my_project. Dans le répertoire du projet my_project, il existe des sous-répertoires pour différents modules nommés frontend, backend, documentation, etc.

Nous voulons uniquement extraire ou cloner le sous-répertoire du module frontend. Ainsi, nous allons maintenant d’abord créer un répertoire pour le dépôt, comme suit.

$ mkdir my_project
$ cd my_project

Après avoir créé le répertoire du projet, nous allons maintenant initialiser le dépôt Git et ajouter l’url distante, comme suit.

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

Nous devons activer les extractions fragmentées pour uniquement extraire ou cloner les sous-répertoires du répertoire principal du projet.

Nous pouvons utiliser la commande git config pour obtenir le même résultat. Nous devons utiliser la commande git config comme suit.

$ git config core.sparsecheckout true

Nous pouvons maintenant dire à Git quels sous-répertoires nous voulons extraire.

Ainsi, pour activer uniquement le checkout du sous-répertoire frontend, il faut le lister dans le fichier .git/info/sparse-checkout.

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

Maintenant, nous pouvons récupérer les fichiers du dépôt Git distant.

$ git pull origin master

Maintenant, nous n’avons dans l’arborescence de travail que le sous-répertoire frontend du projet principal, my_project.

Ainsi, nous avons appris à cloner ou à extraire uniquement des sous-répertoires spécifiques d’un dépôt Git dans Git.

Pour plus d’informations, s’il vous plaît visitez:

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

Article connexe - Git Clone