You could configure your local repository to push to both remotes.
git remote set-url --add --push origin git://github/repo.git
git remote set-url --add --push origin git://gitolite/repo.git
Then you could push the public branch to origin.
You could maintain your private branch separately, and push that to the gitolite remote.
git remote set-url gitolite git://gitolite/repo.git
You are free to merge or cherry pick differences between the branches.