Frage:
Gibt es eine Möglichkeit, Git-Submodule automatisch über dieselbe Methode (ssh oder https) wie das Haupt-Repository auszuchecken?
Hintergrund:
Wir haben ein nicht öffentliches Gitlab-Repository ( main
) mit einem Submodul ( utils
), das auch als nicht öffentliches Gitlab-Repository auf demselben Server gehostet wird. Auf diese Repositorys kann entweder über ssh oder https zugegriffen werden:
user@gitlabserver.com:my/path/repo.git
https://gitlabserver.com/my/path/repo.git
Beide Varianten erfordern offensichtlich unterschiedliche Authentifizierungsformen und je nach Client-Computer und Benutzer wird die eine oder andere bevorzugt.
Für das Repository der obersten Ebene ( main
) ist dies kein Problem, da jeder die von ihm bevorzugte Methode auswählen kann. Für das Submodul hängt dies jedoch von der .gitmodules
Datei ab und ist daher (anfangs) für alle gleich.
Anstatt dass jeder die .gitmodules-Datei an seine Vorlieben anpassen und sicherstellen muss, dass diese Änderungen nicht versehentlich übernommen werden, wäre es schön, wenn es eine Möglichkeit gäbe, nur den Server- und Repo-Pfad anzugeben, und git wählt entweder die Dieselbe Methode, die für das Haupt-Repo verwendet wird, oder etwas, das in gitconfig festgelegt werden kann.
git submodule foreach git submodule update
oder ähnliches. Ich habe keine Zeit, eine richtige Antwort zu schreiben, aber ich hoffe, das wird helfen.