Per File Permisions con Git

Comenzaré un nuevo proyecto en breve y estoy tratando de encontrar la mejor manera de configurar el repository git. Tendré 2 equipos. No restringido y restringido, el problema que trato de resolver es que quiero establecer permissions de files para el equipo restringido, lo que los limitará a que solo puedan comprometerse con ciertos files dentro del repository. Además, cuando un miembro del equipo restringido retira el repository, quiero replace ciertos files con dll generados automáticamente. Básicamente, el equipo restringido es mano de obra subcontratada en la que no confío plenamente y por lo tanto no quiero que puedan comprometerse con todos los files dentro del repository, y tampoco quiero que puedan ver la "salsa secreta". El equipo no restringido debe tener acceso de lectura / escritura a todos los files. ¿Alguna idea de cómo lograr esto?

Parece que el repository de Google podría hacer el truco?

Supongo que es posible prohibir el acceso a algunos files o carpetas configurando git hooks, pero esta no parece ser una buena solución en mi caso. Si está en el inicio del proyecto, considere dividir su proyecto en modules para que pueda savelos en diferentes repositorys si es posible. Digamos un repository para los desarrolladores locales con el núcleo del sistema que contiene la "salsa secreta" y el segundo para los modules que dependen de las bibliotecas centrales y pueden ser subcontratados. Luego puede build bibliotecas principales todas las noches, ofuscarlas y compartirlas con desarrolladores externos.