I have one post-receive hook which will take one minute to execute. While executing this hook no one else should be able to push.
Is there any way I can do this? or How do I configure git (in remote repository) so that it doesn’t allow to push from client?
Just do it yourself: Create a lockfile in your post-receive hook and delete it once it’s done. Add a pre-receive hook that blocks if that file exists.
This will allow race conditions, though. If two clients start pushing at the same time, they will both reach the post-receive hook. Why exactly do you need this exclusive access?