J'ai cette configuration pour le sous-module dans le fichier de .gitmodules:Git - sous-modules HEAD est toujours détaché après l'exécution de la mise à jour?
[submodule "sub"]
shallow = true
branch = master
path = sub
url = https://path/to/repo.git
Maintenant, je veux quand quelqu'un clone mon repo puis exécute ces commandes:
git submodule init
git submodule update
est d'obtenir la branche principale peu profonde du sous-module. Mais ce qui se passe, c'est qu'il ne vérifie pas à master
branche. Il arrivera toujours à la tête détachée, alors j'ai besoin de lancer manuellement git checkout master
. Ainsi, au lieu de ces deux commandes, l'utilisateur doit en exécuter une de plus.
J'ai regardé ceci: Why is my GIT Submodule HEAD detached from master?
Mais aucun conseil qui était sur les réponses acceptées, ne semble pas aider: j'ajouté branche que je veux dans le fichier .gitmodules
, j'ajouté à distance en amont pour être maître (cela ne fonctionne que pour référentiel déjà cloné/mis à jour après avoir dû checkout pour me maîtriser).
Est-ce que cela a pour but de toujours obtenir une tête détachée si quelqu'un clone mon dépôt et veut configurer le sous-module?
Oui, 'git submodule update' crée toujours un HEAD détaché pour le (s) sous-module (s). C'est très ennuyant quand vous voulez faire du développement dans les sous-modules alors qu'ils sont en sous-module (au lieu de les vérifier ailleurs). Vous devrez vous rappeler de faire d'abord un checkout nom_branche avant de travailler, et après avoir validé retourner au projet parent pour ajouter le changement. Je suis également à la recherche d'une solution pour automatiser cela plus facilement. –