Almost everything you mentioned can be done without Github. Add a new remote, make teammates push branches to that remote. Merge to master locally. Review old-school way with 'git diff'. Apart from issues and CI, progress can still be made if you use Git features that make it distributed in the first place. If you depend on Github that much, you should think about a fallback strategy. Otherwise your business model is just unsound.