It was easy on bitbucket. if I dont want my repo to be forked. I can disable it. Only people I have invite can work on repo as long as they have permission on repo.
GitHub doesn't have such a feature as Bitbucket has, but still, you can't make fork from a private repository public. You'll see this message:
Private forks can't be made public.
It gives you a "fool protection" when somebody want's to publish your private repo. Of course, if somebody really want's to do this, they always can push all the code to some new repo as @Chris stated above.