Got it on my own!!
You have to create a bare repository. you can use ...
git clone --bare url repo-name.git(optional)
You have to use one of the following methods to make a repo clone-able:
1. The user should have SSH access to that machine which is hosting this repo.
2. Use http method to clone a repo.(Mostly used for public repo's).
3. Use gitosis/gitolite to clone the repo.
I prefer gitolite for easy and most secure user management.