Aller au contenu
Développement medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Multi-dépôts et transfert Git : submodules, subtree, bundle

3 min de lecture

Certains projets incluent d’autres projets. Une bibliothèque partagée, un thème commun, un outil interne : quand plusieurs dépôts doivent coexister, Git propose deux approches différentes — les submodules et le subtree. Ces deux mécanismes répondent au même besoin avec des compromis distincts.

Le bundling répond à un besoin différent : transférer un dépôt complet (avec tout l’historique) sans passer par un serveur — clé USB, réseau isolé, air-gapped.

BesoinOutilGuide
Inclure une bibliothèque tierce avec son propre dépôtgit submoduleSubmodules
Incorporer un sous-projet dans le dépôt principalgit subtreeSubtree
Transférer un dépôt sans réseau (USB, air-gap)git bundleBundling
Éviter de re-saisir les credentials à chaque pushcredential.helperStockage des credentials
  • git submodule update --init --recursive est la commande à lancer après un git clone qui contient des submodules — sans elle, les sous-dossiers sont vides
  • git subtree add --prefix=lib/ <url> main --squash incorpore un dépôt distant en un seul commit squashé — préférable pour garder l’historique compact
  • git bundle create repo.bundle --all crée une archive complète du dépôt (tous les objets, toutes les branches)
  • git credential-manager (GCM) est la méthode recommandée sur Windows, macOS et Linux modernes — stocke les tokens OAuth de façon sécurisée
  • Le fichier ~/.netrc (store en clair) ne doit jamais être utilisé pour des tokens de production

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn