Can repositories be restricted by user?

Yes. It is possible. Permissions can be assigned to the repository itself, or to individual branches.