Question:
Is there a way to automatically checkout git submodules via the same method (ssh or https) as the main repository?
Background:
We have a non-public gitlab repository (main
) that has a submodule (utils
) which is also hosted as a non-public gitlab repository on the same server. Those repositories can be accessed either via ssh or https:
[email protected]:my/path/repo.git
https://gitlabserver.com/my/path/repo.git
Both variants obviously require different forms of authentication and depending on the client computer and the user, one or the other is preferred.
For the top level repository (main
) that is not an issue, as anyone can choose the method he or she prefers, but for the sub module this depends on the .gitmodules
file and hence is (initially) the same for all.
Now instead of everyone having to adapt the .gitmodules file to whatever they prefer and make sure they don't accidentally commit those changes, it would be nice, if there was a way to just specify the server and repo path and git chooses either the same method that is used for the main repo, or something that can be set in gitconfig.
git submodule foreach git submodule update
or similar. I have no time to write a proper answer but i hope this will help. – Dartmouth