En fait, un patch a été présenté en avril 2009 afin de clarifier gitmodule
rôle.
Alors maintenant, la gitmodule documentation ne comprennent pas encore:
L' .gitmodules
fichier situé dans le répertoire de niveau supérieur d'un git arbre de travail, est un fichier texte avec une syntaxe correspondant aux exigences de linkgit:git-config1.
[NEW]:
Comme ce fichier est géré par Git, il suit les +dossiers d'un projet submodules.
Les informations stockées dans ce fichier est utilisé comme un indice pour premier la version authentique de l'enregistrement stocké dans le fichier de configuration du projet.
Spécifique à l'utilisateur d'enregistrer les modifications (par exemple, pour tenir compte des différences dans les sous-module d'Url en raison de la mise en réseau des situations) doit être faite dans le fichier de configuration, tandis que d'enregistrer des modifications à la propagation (par exemple +en raison d'un déménagement de la sous-module source) doit être apportées à ce fichier.
C'est à peu près confirmer la réponse de Jim.
Si vous suivez cette git sous-module tutoriel, vous voyez vous avez besoin d'un "git submodule init
" pour ajouter le sous-module référentiel Url .git/config.
"git submodule sync
" a été ajouté en août 2008 , précisément pour rendre la tâche plus facile lorsque les changements de l'URL (surtout si le nombre de submodules est important).
L'associé script avec la commande est assez simple:
module_list "$@" |
while read mode sha1 stage path
do
name=$(module_name "$path")
url=$(git config -f .gitmodules --get submodule."$name".url)
if test -e "$path"/.git
then
(
unset GIT_DIR
cd "$path"
remote=$(get_default_remote)
say "Synchronizing submodule url for '$name'"
git config remote."$remote".url "$url"
)
fi
done
L'objectif demeure: git config remote."$remote".url "$url"