2017-07-13 5 views
1

Y a-t-il un moyen d'obtenir les informations d'un serveur dont la validation est sélectionnée dans un sous-module sans cloner le référentiel entier? L'objectif est de cloner uniquement un sous-module spécifique 'jenkins-config', nous avons donc besoin de l'URL (nous le savons déjà) et du commit. Cas d'utilisation: Nous voulons utiliser une configuration de travail Jenkins qui spécifie quoi faire avec les sources extraites dans notre pipeline. Parce que nous ne savons pas ce qui est configuré, nous voulons d'abord cloner seulement la configuration, la traiter et extraire ensuite tout le dépôt (par exemple sur le bon noeud).Comment ne cloner qu'un sous-module git

Nous aimerions vraiment avoir la configuration à côté des sources du référentiel à construire. C'est pourquoi nous avons eu l'idée d'utiliser un "sous-module de config" pour inclure et spécifier la configuration valide (la configuration valide est spécifiée par le SHA du sous-module).
Cela permettrait également de sélectionner une configuration spécifique pour votre branche. De plus, la maintenance des configurations pour différents référentiels serait très confortable en utilisant différentes branches dans le référentiel de configuration (tirer les modifications).

Des idées pour résoudre ce problème? - Config bac à sable à côté de sources - Check out config uniquement (sans le reste du dépôt)

+1

Dans les .gitsubmodules, vous pouvez obtenir la référence git aux sous-modules. Simplement le cloner comme un dépôt normal. – HenryGiraldo

+0

C'est exactement ce que je prévois de faire - cloner le sous-module comme repo normal. Ma question est: Comment obtenir le sous-module commettre SHA à partir du dépôt principal sans avoir à le cloner – Ditschi

Répondre

1

En .gitmodules vous pouvez obtenir la référence git à sous-modules.

Pour obtenir le commit SHA, utilisez git submodule status, cela affichera le SHA-1 du commit actuellement extrait pour chaque sous-module.

+0

Ce que je ne peux faire qu'après avoir cloné et vérifié tout le dépôt Ma question est: Comment obtenir la sous-module SHA de le dépôt principal sans avoir à le cloner – Ditschi

+0

Vous pouvez cloner juste le dernier commit avec 'git clone --depth 1' – HenryGiraldo