Github does not allow a forked repository to be private. This article describes a way to make a private repo that can pull new features of a public repo. The private repo will behave just as a forked repo of the public repo.
Bare Clone and Mirror Push
Duplicate public to private repository
- Create empty private repo
- Bare clone a public repo, and mirror push it to the private repo.
$ git clone --bare https://github.com/exampleuser/public_repo.git $ cd public_repo.git $ git push --mirror https://github.com/yourname/private_repo.git $ cd .. $ rm -rf public-repo.git
Register remote repository with public repository
$ git clone https://github.com/yourname/private_repo.git
$ cd private_repo
$ git remote add public https://github.com/exampleuser/public_repo.git
Fetching from public repo
$ git pull public master
$ git push origin master
Leave a comment