Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.47.0 10/06/24
- 2.44.1 → 2.46.2 no changes
- 2.44.0 02/23/24
- 2.42.1 → 2.43.5 no changes
- 2.42.0 08/21/23
- 2.36.1 → 2.41.2 no changes
- 2.36.0 04/18/22
- 2.28.1 → 2.35.8 no changes
- 2.28.0 07/27/20
- 2.26.1 → 2.27.1 no changes
- 2.26.0 03/22/20
- 2.25.2 → 2.25.5 no changes
- 2.25.1 02/17/20
- 2.25.0 01/13/20
- 2.24.1 → 2.24.4 no changes
- 2.24.0 11/04/19
- 2.22.1 → 2.23.4 no changes
- 2.22.0 06/07/19
- 2.19.1 → 2.21.4 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.17.0 → 2.17.6 no changes
- 2.16.6 12/06/19
- 2.15.4 no changes
- 2.14.6 12/06/19
- 2.13.7 05/22/18
- 2.12.5 09/22/17
- 2.11.4 no changes
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.7.6 no changes
- 2.6.7 05/05/17
- 2.5.6 no changes
- 2.4.12 05/05/17
- 2.3.10 09/28/15
- 2.1.4 → 2.2.3 no changes
- 2.0.5 12/17/14
SYNOPSIS
git submodule [--quiet] [--cached] git submodule [--quiet] add [<options>] [--] <dĂ©pĂ´t> [<chemin>] git submodule [--quiet] status [--cached] [--recursive] [--] [<chemin>…] git submodule [--quiet] init [--] [<chemin>…] git submodule [--quiet] deinit [-f|--force] (--all|[--] <chemin>…) git submodule [--quiet] update [<options>] [--] [<chemin>…] git submodule [--quiet] set-branch [<options>] [--] <chemin> git submodule [--quiet] set-url [--] <chemin> <nouvelle-url> git submodule [--quiet] summary [<options>] [--] [<chemin>…] git submodule [--quiet] foreach [--recursive] <commande> git submodule [--quiet] sync [--recursive] [--] [<chemin>…] git submodule [--quiet] absorbgitdirs [--] [<chemin>…]
DESCRIPTION
Inspecte, met à jour et gère les sous-modules.
Pour plus d’informations sur les sous-modules, voir gitsubmodules[7].
COMMANDES
Sans arguments, montrer l’Ă©tat des sous-modules existants. Plusieurs sous-commandes sont disponibles pour effectuer des opĂ©rations sur les sous-modules.
- add [-b <branche>] [-f|--force] [--name <nom>] [--reference <dépôt>] [--ref-format <format>] [--depth <profondeur>] [--] <dépôt> [<chemin>]
-
Ajouter le dépôt donné comme sous-module au chemin donné vers les modifications à valider à côté du projet en cours : le projet en cours est appelé « superprojet ».
<dĂ©pĂ´t> est l’URL du dĂ©pĂ´t d’origine du nouveau sous-module. Il peut s’agir soit d’une URL absolue, soit (si elle commence par ./ ou ../) de l’emplacement par rapport au dĂ©pĂ´t distant par dĂ©faut du superprojet (veuillez noter que pour spĂ©cifier un dĂ©pĂ´t foo.git, voisin d’un superprojet bar.git, vous devrez utiliser
../foo.git
au lieu de./foo.git
- comme on pourrait s’y attendre en suivant les règles pour les URL relatives - car l’Ă©valuation des URL relatives dans Git est identique Ă celle des rĂ©pertoires relatifs).Le distant par dĂ©faut est le distant de la branche de suivi Ă distance de la branche actuelle. Si une telle branche de suivi Ă distance n’existe pas ou si HEAD est dĂ©tachĂ©e, "origin" est supposĂ© ĂŞtre le distant par dĂ©faut. Si le superprojet n’a pas de distant par dĂ©faut configurĂ©, le superprojet est l’amont d’autoritĂ© et le rĂ©pertoire de travail actuel est utilisĂ© Ă la place.
L’argument facultatif <chemin> est l’emplacement relatif du sous-module clonĂ© dans le superprojet. Si <chemin> n’est pas donnĂ©, la partie canonique du dĂ©pĂ´t de sources est utilisĂ©e ("depot" pour "/chemin/du/depot.git" et "foo" pour "hote.xz:foo/.git"). Si <chemin> existe et est dĂ©jĂ un dĂ©pĂ´t Git valide, alors il est indexĂ© pour le commit sans clonage. Le <chemin> est Ă©galement utilisĂ© comme nom logique du sous-module dans ses entrĂ©es de configuration, sauf si
--name
est utilisĂ© pour spĂ©cifier un nom logique.L’URL donnĂ©e est enregistrĂ©e dans
.gitmodules
pour ĂŞtre utilisĂ©e par les utilisateurs qui clonent le superprojet plus tard. Si l’URL est donnĂ©e par rapport au dĂ©pĂ´t du superprojet, on suppose que les dĂ©pĂ´ts du superprojet et du sous-module seront conservĂ©s ensemble au mĂŞme emplacement relatif, et que seule l’URL du superprojet doit ĂŞtre fournie. git-submodule localisera correctement le sous-module en utilisant l’URL relative dans.gitmodules
.Si
--ref-format <format>
est spĂ©cifiĂ©, le format de stockage des ref des sous-modules rĂ©cemment clonĂ©s sera dĂ©fini en consĂ©quence. - status [--cached] [--recursive] [--] [<chemin>…]
-
Afficher le statut des sous-modules. Cela affichera le SHA-1 du commit actuellement extrait pour chaque sous-module, ainsi que le chemin du sous-module et la sortie de git describe pour le SHA-1. Chaque SHA-1 sera éventuellement préfixé par
-
si le sous-module n’est pas initialisĂ©,+
si le commit du sous-module actuellement extrait ne correspond pas au SHA-1 trouvĂ© dans l’index du dĂ©pĂ´t contenant etU
si le sous-module a des conflits de fusion.Si
--cached
est spécifié, cette commande imprimera à la place le SHA-1 enregistre dans le superprojet pour chaque sous-module.Si
--recursive
est spĂ©cifiĂ©, cette commande va parcourir rĂ©cursivement les sous-modules imbriquĂ©s, et montrer leur statut Ă©galement.Si vous n’ĂŞtes intĂ©ressĂ© que par les modifications des sous-modules actuellement initialisĂ©s par rapport au commit enregistrĂ© dans l’index ou dans HEAD, git-status[1] et git-diff[1] vous fourniront Ă©galement ces informations (et peuvent Ă©galement signaler les modifications de l’arbre de travail d’un sous-module).
- init [--] [<chemin>…]
-
Initialiser les sous-modules enregistrĂ©s dans l’index (qui ont Ă©tĂ© ajoutĂ©s et validĂ©s ailleurs) en dĂ©finissant
submodule.$nom.url
dans.git/config
, en utilisant le même paramètre de.gitmodules
comme modèle. Si l’URL est relative, elle sera rĂ©solue en utilisant le distant par dĂ©faut. S’il n’y a pas de distant par dĂ©faut, le dĂ©pĂ´t actuel sera supposĂ© ĂŞtre en amont.Les arguments facultatifs <chemin> limitent les sous-modules qui seront initialisĂ©s. Si aucun chemin n’est spĂ©cifiĂ© et que submodule.active a Ă©tĂ© configurĂ©, les sous-modules configurĂ©s pour ĂŞtre actifs seront initialisĂ©s, sinon tous les sous-modules sont initialisĂ©s.
La valeur de
submodule.$name.update`sera aussi copiée, si présente dans le fichier `.gitmodules
, dans.git/config
, mais (1) cette commande ne modifie pas les informations existantes dans.git/config
, et (2)submodule.$name.update
qui est dĂ©fini Ă une commande personnalisĂ©e n’est pas copiĂ© pour des raisons de sĂ©curitĂ©.Lorsqu’il est prĂ©sent, copie Ă©galement la valeur de
submodule.$nom.update
. Cette commande ne modifie pas les informations existantes dans le fichier .git/config. Vous pouvez ensuite personnaliser les URL de clonage de sous-module dans .git/config pour votre configuration locale et passer Ăgit submodule update
; vous pouvez aussi simplement utilisergit submodule update --init
sans l’Ă©tape explicite init si vous n’avez pas l’intention de personnaliser l’emplacement des sous-module.Voir la sous-commande d’ajout pour la dĂ©finition du distant par dĂ©faut.
- deinit [-f|--force] (--all|[--] <chemin>…)
-
DĂ©senregistrez les sous-modules donnĂ©s, c’est-Ă -dire supprimez toute la section
submodule.$name
de .git/config ainsi que leur arborescence de travail. Les appels ultĂ©rieurs Ăgit submodule update
,git submodule foreach
etgit submodule sync
ignoreront tous les sous-modules non enregistrĂ©s jusqu’Ă ce qu’ils soient initialisĂ©s Ă nouveau, donc utilisez cette commande si vous ne voulez plus avoir de vĂ©rification locale du sous-module dans votre arbre de travail.Lorsque la commande est exĂ©cutĂ©e sans pathspec, elle sort en erreur, au lieu de tout dĂ©-initialiser, pour Ă©viter les erreurs.
Si
--force
est spĂ©cifiĂ©, l’arbre de travail du sous-module sera supprimĂ© mĂŞme s’il contient des modifications locales.Si vous voulez vraiment supprimer un sous-module du dĂ©pĂ´t et valider le rĂ©sultat, utilisez plutĂ´t git-rm[1]. Voir gitsubmodules[7] pour les options de suppression.
- update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <dĂ©pĂ´t>] [--ref-format <format>] [--depth <profondeur>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--filter <spĂ©c-de-filtre>] [--] [<chemin>…]
-
Mettre Ă jour les sous-modules enregistrĂ©s pour qu’ils correspondent aux attentes du superprojet en clonant les sous-modules manquants, en rĂ©cupĂ©rant les commits manquants dans les sous-modules et en mettant Ă jour l’arbre de travail des sous-modules. La "mise Ă jour" peut ĂŞtre effectuĂ©e de plusieurs façons, en fonction des options de la ligne de commande et de la valeur de la variable de configuration
submodule.<nom>.update
. L’option de ligne de commande a la prioritĂ© sur la variable de configuration. Si aucune des deux n’est donnĂ©e, un checkout est effectuĂ©. (note : ce qui est dans le fichier`.gitmodules` n’est pas pertinent Ă ce point ; voirgit submodule init
ci-dessus pour comment.gitmodules
est utilisĂ©). Les procĂ©dures de 'update’supportĂ©es aussi bien en ligne de commande que par la configuration `submodule.<nom>.update`sont :- checkout
-
le commit enregistré dans le superprojet sera extrait dans le sous-module sur une HEAD détachée.
Si
--force
est spécifié, le sous-module sera extrait (en utilisantgit checkout --force
), mĂŞme si le commit spĂ©cifiĂ© dans l’index du dĂ©pĂ´t contenant correspond dĂ©jĂ au commit extrait dans le sous-module. - rebase
-
la branche actuelle du sous-module sera rebasée sur le commit enregistré dans le superprojet.
- merge
-
le commit enregistré dans le superprojet sera fusionné dans la branche actuelle dans le sous-module.
Les procédures de mise à jour suivantes ont des limites supplémentaires :
- commande personnalisée
-
mĂ©canisme pour exĂ©cuter des commandes arbitraires avec l’ID de commit comme argument. Plus prĂ©cisĂ©ment, si la variable de configuration
submodule<nom>.update
Ă!<commande personnalisĂ©e>
', le nom de l’objet enregistrĂ© dans le superprojet pour le sous-module est ajoutĂ© Ă la fin de la chaĂ®ne<commande personnalisĂ©e>
et celle-ci est exĂ©cutĂ©e. Notez que ce mĂ©canisme n’est pas pris en charge dans le fichier.gitmodules
ou sur la ligne de commande. - none
-
le sous-module n’est pas mis Ă jour. Cette procĂ©dure de mise Ă jour n’est pas autorisĂ©e sur la ligne de commande.
Si le sous-module n’est pas encore initialisĂ©, et que vous souhaitez simplement utiliser le paramètre stockĂ© dans
.gitmodules
, vous pouvez initialiser automatiquement le sous-module avec l’option--init
.Si
--recursive
est spĂ©cifiĂ©, cette commande va parcourir rĂ©cursivement les sous-modules enregistrĂ©s, et mettre Ă jour tous les sous-modules imbriquĂ©s Ă l’intĂ©rieur.Si
--ref-format <format>
est spécifié, le format de stockage des ref des sous-modules récemment clonés sera défini en conséquence.Si
--filter <spéc-de-filtre>
est spécifié, le filtre de clone partiel donné sera appliqué au sous-module. Voir git-rev-list[1] pour plus de détails sur les spécifications du filtre. - set-branch (-b|--branch) <branche> [--] <chemin>
- set-branch (-d|--default) [--] <chemin>
-
DĂ©finir la branche distante par dĂ©faut pour le sous-module. L’option
--branch
permet de spĂ©cifier la branche distante. L’option--default
supprime la clé de configuration submodule.<nom>.branch, ce qui fait que la branche de suivi par défaut est la branche HEAD distante . - set-url [--] <chemin> <nouvelle-url>
-
Fixer l’URL du sous-module spĂ©cifiĂ© Ă <nouvelle-url>. Ensuite, il synchronisera automatiquement la nouvelle configuration de l’URL distante du sous-module.
- summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<chemin>…]
-
Afficher le rĂ©sumĂ© du commit entre le commit donnĂ© (par dĂ©faut HEAD) et l’arbre de travail/index. Pour un sous-module en question, une sĂ©rie de commits dans le sous-module entre le commit donnĂ© du super projet et l’index ou l’arbre de travail (commutĂ© par
--cached
) sont affichĂ©s. Si l’option--files
est donnĂ©e, afficher la sĂ©rie de commits dans le sous-module entre l’index du super projet et l’arbre de travail du sous-module (cette option ne permet pas d’utiliser l’option--cached
ou de fournir un commit explicite).L’utilisation de l’option
--submodule=log
avec git-diff[1] fournira Ă©galement cette information. - foreach [--recursive] <commande>
-
Évaluer une commande shell arbitraire dans chaque sous-module extrait. La commande a accès aux variables $name, $sm_path, $displaypath, $sha1 et $toplevel : $name est le nom de la section du sous-module concernée dans
.gitmodules
, $sm_path est le chemin du sous-module tel qu’il est enregistrĂ© dans le superprojet immĂ©diat, $displaypath contient le chemin relatif du rĂ©pertoire de travail courant au rĂ©pertoire racine du sous-modules, $sha1 est le commit tel qu’il est enregistrĂ© dans le superprojet immĂ©diat, et $toplevel est le chemin absolu vers le niveau supĂ©rieur du superprojet immĂ©diat. Notez que pour Ă©viter les conflits avec $PATH sous Windows, la variable $path est maintenant un synonyme obsolète de la variable $sm_path. Tous les sous-modules dĂ©finis dans le superprojet mais non extraits sont ignorĂ©s par cette commande. A moins qu’on ne lui donne--quiet
, foreach imprime le nom de chaque sous-module avant d’Ă©valuer la commande. Si la variable--recursive
est donnĂ©e, les sous-modules sont parcourus de manière rĂ©cursive (c’est-Ă -dire que la commande shell donnĂ©e est Ă©galement Ă©valuĂ©e dans les sous-modules imbriquĂ©s). Un retour non nul de la commande dans un sous-module quelconque entraĂ®ne l’arrĂŞt du traitement. Il est possible d’y remĂ©dier en ajoutant || : Ă la fin de la commande.Ă€ titre d’exemple, la commande ci-dessous indique le chemin et le commit actuellement extrait pour chaque sous-module :
git submodule foreach 'echo $sm_path `git rev-parse HEAD`'
- sync [--recursive] [--] [<chemin>…]
-
Synchroniser le paramètre de configuration de l’URL distante des sous-modules Ă la valeur spĂ©cifiĂ©e dans
.gitmodules
. Cela n’affectera que les sous-modules qui ont dĂ©jĂ une entrĂ©e d’URL dans .git/config (c’est le cas lorsqu’ils sont initialisĂ©s ou fraĂ®chement ajoutĂ©s). Ceci est utile lorsque les URL des sous-modules changent en amont et que vous devez mettre Ă jour vos dĂ©pĂ´ts locaux en consĂ©quence.git submodule sync
synchronise tous les sous-modules tandis quegit submodule sync -- A
synchronise uniquement le sous-module "A".Si
--recursive
est spĂ©cifiĂ©, cette commande va parcourir rĂ©cursivement les sous-modules enregistrĂ©s, et synchroniser tous les sous-modules imbriquĂ©s Ă l’intĂ©rieur. - absorbgitdirs
-
Si un rĂ©pertoire git d’un sous-module se trouve Ă l’intĂ©rieur du sous-module, dĂ©placer le rĂ©pertoire git du sous-module dans le chemin
$GIT_DIR/modules
de son superprojet, puis connecter le répertoire git et son répertoire de travail en définissant lecore.worktree
et en ajoutant un fichier .git pointant sur le rĂ©pertoire git intĂ©grĂ© dans le rĂ©pertoire git du superprojet.Un dĂ©pĂ´t qui a Ă©tĂ© clonĂ© indĂ©pendamment et ajoutĂ© plus tard comme un sous-module ou d’anciennes configurations, a le rĂ©pertoire git des sous-modules Ă l’intĂ©rieur du sous-module au lieu d’ĂŞtre intĂ©grĂ© dans le rĂ©pertoire git des superprojets.
Cette commande est récursive par défaut.
OPTIONS
- -q
- --quiet
-
N’afficher que les messages d’erreur.
- --progress
-
Cette option n’est valide que pour les commandes add et update. L’Ă©tat d’avancement est affichĂ© sur la sortie d’erreur standard par dĂ©faut quand elle est attachĂ©e Ă un terminal, Ă moins que -q soit spĂ©cifiĂ©. Ce drapeau force l’Ă©tat d’avancement mĂŞme si le flux d’erreur standard n’est pas dirigĂ© vers un terminal.
- --all
-
Cette option n’est valide que pour la commande deinit. DĂ©senregistrer tous les sous-modules dans l’arbre de travail.
- -b <branche>
- --branch <branche>
-
Branche du dépôt à ajouter comme sous-module. Le nom de la branche est enregistré comme
submodule.<nom>.branch
dans.gitmodules
pourupdate--remote
. Une valeur spéciale de.
est utilisĂ©e pour indiquer que le nom de la branche dans le sous-module doit ĂŞtre le mĂŞme que celui de la branche active dans le dĂ©pĂ´t actuel. Si l’option n’est pas spĂ©cifiĂ©e, la valeur par dĂ©faut estHEAD
distant. - -f
- --force
-
Cette option n’est valable que pour les commandes add, deinit et update. Lors de l’exĂ©cution de la commande add, autorisez l’ajout d’un chemin de sous-module autrement ignorĂ©. Lors de l’exĂ©cution de deinit, les arbres de travail des sous-module seront supprimĂ©s mĂŞme s’ils contiennent des modifications locales. Lors de l’exĂ©cution de update (uniquement active avec la procĂ©dure de checkout), jeter les modifications locales dans les sous-module lors du passage Ă un commit diffĂ©rent ; et toujours exĂ©cuter une opĂ©ration d’extraction dans le sous-module, mĂŞme si le commit listĂ© dans l’index du dĂ©pĂ´t le contenant correspond au commit extrait dans le sous-module.
- --cached
-
Cette option n’est valide que pour les commandes d’Ă©tat et de rĂ©sumĂ©. Ces commandes utilisent gĂ©nĂ©ralement le commit trouvĂ© dans la HEAD du sous-module, mais avec cette option, le commit stockĂ© dans l’index est utilisĂ© Ă la place.
- --files
-
Cette option n’est valable que pour la commande summary. Cette commande compare le commit dans l’index avec celui du sous-module HEAD lorsque cette option est utilisĂ©e.
- -n
- --summary-limit
-
Cette option n’est valable que pour la commande summary. Limiter la taille du rĂ©sumĂ© (nombre de validations affichĂ©es au total). Donner 0 dĂ©sactivera le rĂ©sumé ; un nombre nĂ©gatif signifie illimitĂ© (par dĂ©faut). Cette limite ne s’applique qu’aux sous-modules modifiĂ©s. La taille est toujours limitĂ©e Ă 1 pour les sous-modules ajoutĂ©s/supprimĂ©s/modifiĂ©s.
- --remote
-
Cette option n’est valable que pour la commande de mise Ă jour. Au lieu d’utiliser le SHA-1 enregistrĂ©e du superprojet pour mettre Ă jour le sous-module, utiliser le statut de la branche de suivi Ă distance du sous-module. Le distant utilisĂ© est le distant de la branche (
branch.<nom>.remote
), dont la valeur par défaut estorigin
. La branche distante utilisée est par défaut la branche distanteHEAD
, mais le nom de la branche peut ĂŞtre remplacĂ© par l’optionsubmodule.<nom>.branch
dans.gitmodules
ou.git/config
(avec.git/config
en priorité).Cela fonctionne pour toutes les procédures de mise à jour prises en charge (
--checkout
,--rebase
, etc.). Le seul changement est la source de la cible SHA-1. Par exemple,submodule update --remote --merge
fusionnera les changements de sous-module en amont dans les sous-modules, tandis quesubmodule update --merge
fusionnera les changements du superprojet de gitlink dans les sous-modules.Afin d’assurer un Ă©tat actuel de la branche de suivi,
update --remote
va chercher le dépôt distant du sous-module avant de calculer le SHA-1. Si vous ne voulez pas récupérer, vous devez utilisersubmodule update --remote --no-fetch
.Utiliser cette option pour intégrer les changements du sous-projet en amont dans la HEAD actuelle de votre sous-module. Alternativement, vous pouvez lancer
git pull
depuis le sous-module, qui est Ă©quivalent Ă l’exception du nom de la branche distante :update --remote
utilise le dépôt amont par défaut etsubmodule.<nom>.branch
, alors quegit pull
utilise lebranch.<nom>.merge
du sous-module. Préférezsubmodule.<nom>.branch
si vous voulez distribuer la branche amont par défaut avec le superprojet etbranch.<nom>.merge
si vous voulez un aspect plus natif tout en travaillant dans le sous-module lui-mĂŞme. - -N
- --no-fetch
-
Cette option n’est valable que pour la commande update. Ne pas rĂ©cupĂ©rer de nouveaux objets sur le site distant.
- --checkout
-
Cette option n’est valable que pour la commande update. VĂ©rifier le commit enregistrĂ© dans le superprojet sur une HEAD dĂ©tachĂ©e dans le sous-module. C’est le comportement par dĂ©faut, l’utilisation principale de cette option est de remplacer
submodule.$nom.update
lorsqu’elle est dĂ©finie Ă une valeur autre quecheckout
. Si la clésubmodule.$nom.update
n’est pas explicitement dĂ©finie ou est dĂ©finie Ăcheckout
, cette option est implicite. - --merge
-
Cette option n’est valable que pour la commande update. Fusionner le commit enregistrĂ© dans le superprojet dans la branche actuelle du sous-module. Si cette option est donnĂ©e, la HEAD du sous-module ne sera pas dĂ©tachĂ©e. Si un Ă©chec de fusion empĂŞche ce processus, vous devrez rĂ©soudre les conflits rĂ©sultants au sein du sous-module avec les outils de rĂ©solution de conflits habituels. Si la clĂ©
submodule.$nom.update
est définie surfusion
, cette option est implicite. - --rebase
-
Cette option n’est valable que pour la commande de mise Ă jour. Rebaser la branche actuelle sur le commit enregistrĂ© dans le superprojet. Si cette option est donnĂ©e, la HEAD du sous-module ne sera pas dĂ©tachĂ©e. Si un Ă©chec de fusion empĂŞche ce processus, vous devrez rĂ©soudre ces Ă©checs avec git-rebase[1]. Si la clĂ©
submodule.$nom.update
est définie surrebase
, cette option est implicite. - --init
-
Cette option n’est valable que pour la commande update. Initialiser tous les sous-modules pour lesquels "git submodule init" n’a pas Ă©tĂ© appelĂ© jusqu’Ă prĂ©sent avant la mise Ă jour.
- --name
-
Cette option n’est valable que pour la commande add. Elle fixe le nom du sous-module Ă la chaĂ®ne de caractères donnĂ©e au lieu de choisir par dĂ©faut son chemin d’accès. Le nom doit ĂŞtre valide en tant que nom de rĂ©pertoire et ne peut pas se terminer par un "/".
- --reference <dépôt>
-
Cette option n’est valable que pour les commandes add et update. Ces commandes ont parfois besoin de cloner un dĂ©pĂ´t distant. Dans ce cas, cette option sera passĂ©e Ă la commande git-clone[1].
NOTE : N’utilisez pas cette option si vous n’avez pas lu attentivement la note pour les options
--reference
,--shared
, et--dissociate
de git-clone[1]. - --dissociate
-
Cette option n’est valable que pour les commandes add et update. Ces commandes ont parfois besoin de cloner un dĂ©pĂ´t distant. Dans ce cas, cette option sera passĂ©e Ă la commande git-clone[1].
NOTE : voir NOTE pour l’option
--reference
. - --recursive
-
Cette option n’est valable que pour les commandes foreach, update, status et sync. Traverser les sous-modules de façon rĂ©cursive. L’opĂ©ration est effectuĂ©e non seulement dans les sous-modules du dĂ©pĂ´t actuel, mais aussi dans tous les sous-modules imbriquĂ©s Ă l’intĂ©rieur de ces sous-modules (et ainsi de suite).
- --depth
-
Cette option est valable pour les commandes d’ajout et de mise Ă jour. CrĂ©er un clone superficiel avec un historique tronquĂ© au nombre de rĂ©visions spĂ©cifiĂ©. Voir git-clone[1]
- --[no-]recommend-shallow
-
Cette option n’est valable que pour la commande de mise Ă jour. Le clone initial d’un sous-module utilisera le
submodule.<nom>.shallow
recommandé, tel que fourni par le fichier.gitmodules
par défaut. Pour ignorer les suggestions, utilisez--no-recommend-shallow
. - -j <n>
- --jobs <n>
-
Cette option n’est valable que pour la commande update. Cloner les nouveaux sous-modules en parallèle avec autant de tâches. L’option
submodule.fetchJobs
est utilisée par défaut. - --[no-]single-branch
-
Cette option n’est valable que pour la commande update. Cloner une seule branche pendant la mise Ă jour : HEAD ou une branche spĂ©cifiĂ©e par --branch.
- <chemin>…
-
Chemins vers le(s) sous-module(s). Lorsque cela est spécifié, la commande ne fonctionnera que sur les sous-modules se trouvant sur les chemins spécifiés. (Cet argument est requis avec add).
FICHIERS
Lors de l’initialisation des sous-modules, un fichier .gitmodules
dans le rĂ©pertoire de niveau supĂ©rieur du dĂ©pĂ´t contenant est utilisĂ© pour trouver l’url de chaque sous-module. Ce fichier doit ĂŞtre formatĂ© de la mĂŞme manière que le fichier $GIT_DIR/config
. La clĂ© de l’url de chaque sous-module est "submodule.$nom.url". Voir gitmodules[5] pour plus de dĂ©tails.
GIT
Fait partie de la suite git[1]
TRADUCTION
Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .