title: Git: Access Control? How to do in practice
body: <p>how would one protect a GIT repository of a complete (java) application from having a developer getting access to all the source code in the repository. I know GIT is a distributed Versioning Control where a developer normally "downloads/fetches" the complete(!) repository.</p>
  
  <p><strong>My Questions:</strong></p>
  
  <ol>
  <li><p>How to sperate "modules/autonomous parts" in git? For example havng a module "payment layer" and "database layer" and "processing layer" and so forth all abstracted via APIs/Interfaces. Do i have to setup a seperate git repository for all those modules? </p></li>
  <li><p>Is there a way to have one large repository in GIT but to somehow restrict the access by path? (A client should only recive those files he was granted access to)</p></li>
  <li><p>Is there a way to have one large repository in GIT but to somehow restrict the access by Branch/Tags? (A client should only recive those files he was granted access to)</p></li>
  <li><p>Just in Case someone knows this too: Is there a way in eclipse to chekout content from multiple GIT repositories into one project and also (the other way round) commit code within in one eclipse project to multiple different GIT repositories (based on package names/paths or in the context menu)? </p></li>
  </ol>
  
  <p>Thank you very much 
  Markus!</p>