• 12 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 26/08/2019

Intégrez les dépôts d’autres personnes dans le vôtre

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Définissez les sous-arborescences et les sous-modules

Les sous-modules et les sous-arborescences ? Mais qu'est-ce que c'est ? 

Sous-modules
Sous-modules

Commençons par les sous-modules. N'avez-vous jamais eu envie d'inclure un projet tiers au sein du projet sur lequel vous étiez en train de travailler ? Je ne parle pas d'une simple dépendance tierce, mais d'un module ou d'une bibliothèque que vous développez simultanément.

Admettons que vous ayez à développer deux projets totalement distincts, mais qui vont à un moment devoir se retrouver.

C'est un cas typique d'utilisation des sous-modules Git, car ils vont vous permettre d'inclure un autre dépôt Git au sein de votre projet actuel. Il vous sera alors possible de gérer vos commits séparément pour chacun des dépôts.

git submodule add https://github.com/etudiantOC/ProjetSubModule dossier/destination

Cette commande va ajouter à notre dépôt courant le projet ProjetSubModule, comme sous-module dans le dossier Dossier/Destination.

Maintenant, voyons la différence avec les sous-arborescences.  Si vous avez déjà développé des projets, vous avez sûrement déjà dû vous dire qu'il vous serait utile de garder une fonctionnalité pour la réutiliser dans d'autres projets. Il pourrait être très facile de juste copier-coller les fichiers, et de les remettre plus tard dans les autres projets. Cependant, vous perdriez tout l'historique sur ces fonctionnalités. Heureusement, il existe les sous-arborescences Git !

Git subtree va vous permettre de créer un nouvel arbre de commits pour un sous-dossier de votre dépôt Git. Autrement dit, Git subtree régénère l’historique d’un dossier.

git subtree push -P monRépertoire git@mon-serveur-git:group/projet.git master

Votre répertoire va être pushé sur votre nouveau dépôt distant sur la branche master. :)

Vous savez maintenant modifier et nettoyer vos branches et vous connaissez les sous-modules. Terminons cette partie par un quiz ! Rendez-vous ensuite dans la partie suivante ! :)

Exemple de certificat de réussite
Exemple de certificat de réussite