Ik zou in een (sub)repo een andere repo zichtbaar willen hebben die ik enkel kan pullen maar niet kan pushen, want aan de sub-repo mogen geen wijzigingen gepushed worden.
zijn volgende stappen correct
naar de main-repo gaan cd /path/to/main-repo
de submodule toevoegen en initieren git submodule add https://github.com/user/repo.git path/to/submodule git submodule update --init --recursive
voorkomen dat de submodule pushed cd path/to/submodule git remote set-url --push origin no_push
Submodules resulteren quasi altijd in kopzorgen Zelfs als je het zelf onder controle hebt is er wel iemand in je team die niet mee is. Als je je toch in het mijnenveld wil wagen, lees je dan in in de mogelijke traps.
Daarnaast is de no_push louter een lokale configuratie die iedere gebruiker vrijblijvend in of uit kan schakelen. Je dwingt er niets mee af. Als je de beheerder bent van de submodule ben je beter om op de remote de rechten te beheren dan erop te vertrouwen dat iedereen lokaal zijn vlaggetje gaat instellen.
Ik ken je case niet precies maar wat je beschrijft lijkt op een dependency in je project. Je spendeert dan beter tijd om dat als package of artifact ergens te gaan hosten. Of je kan gewoon een dependency naar je git remote leggen (zie links voor npm, poetry, composer, … afhankelijk van wat je gebruikt). In geval van een private repo zit je wel met credentials die tot in de productie build pipeline moeten geraken, maar dat is op te lossen met env variabelen en secrets in je CI/CD pipeline. Makkelijkste is dus publishen van je package als de context dat toelaat.