Derechos de acceso a los submodules bajo github

Quiero un proyecto github projectA que use un submodule projectSub . Además, quiero que los usuarios puedan clonar el proyecto recursivamente, obteniendo automáticamente projectA y projectSub .

Corrígeme si me equivoco, pero según tengo entendido, la clonación de https://github.com/username/projectname implica que se te solicitará el nombre de usuario y la contraseña antes de presionar, mientras que la clonación git@github.com:username/projectname usará tus cnetworkingenciales ssh automáticamente.

Ahora, puedo agregar el submodule por lo tanto

 git add submodule git@github.com:username/projectSub 

o por lo tanto

 git add submodule https://github.com/username/projectSub 

Si utilizo el primer método, un usuario sin acceso ssh al proyecto no podrá clonar projectA recursivamente, porque el file git@github.com:... contiene git@github.com:...

Pero si utilizo el segundo método, a un usuario con acceso ssh al proyecto se le pedirá que proporcione el nombre de usuario y la contraseña cuando inserte actualizaciones en projectSub , porque el file .gitmodules contiene https://github.com/...

¿Hay alguna manera de hacer que esto funcione para ambos types de usuarios? (¿O he entendido mal completamente cómo funciona esto?)

¿Hay alguna manera de hacer que esto funcione para ambos types de usuarios? (¿O he entendido mal completamente cómo funciona esto?)

Cuando trabajo con submodules, me resulta más fácil tratar los submodules como clones de solo lectura. Si necesito hacer actualizaciones, cloné el repository en sentido ascendente por separado, luego git pull los cambios en el submodule.

Dicho eso, todavía puedes hacer que esto funcione. Use las URL https:// por defecto. Para las personas que necesitan impulsar los cambios, ellos:

 git remote set-url --push git@github.com:username/projectSub 

Git le permite tener URL de pull y pull separadas.