git
doesn't come with any access control mechanisms.
So you will have to use something else for that. On linux, you can use users and groups to restrict access for some users. You may be able to do that on windows too.
Another way (used on GitHub) is, to use multiple clones of the same repo. Some users connect via http (read only without webdav) and some use ssh (full access).
You can also try gitolite or equivalent systems so you don't have to create a bunch of users on your system.
Also, don't expect to be able to control the access to a repository finer than read or write access. Either a user can read the complete repo, or he can not ready anything. The same is valid for write access.