在github文档和这里也找不到任何东西。但是我想知道是否有一个名为foo的私人存储库http://foo.github.com,只有一个人可以访问foo存储库本身。
我记得读过一些关于github页面总是公开的东西,但似乎再也找不到了。
令人惊讶的是,我似乎也找不到其他人问这个问题。
在github文档和这里也找不到任何东西。但是我想知道是否有一个名为foo的私人存储库http://foo.github.com,只有一个人可以访问foo存储库本身。
我记得读过一些关于github页面总是公开的东西,但似乎再也找不到了。
令人惊讶的是,我似乎也找不到其他人问这个问题。
当前回答
如上所述,Github页面不支持该功能。当我们的团队决定在内部和私下托管项目文档(静态HTML)时,我也遇到了同样的问题。
我最终创建了一个服务https://www.privatehub.cloud它基本上是一个简单的代理服务器与Github OAuth身份验证,所以它只是返回您的Github存储库内容与适当的MIME类型。按照设计,只有有权访问foo的人才能在https://bar-foo.privatehub.cloud上看到foo的内容。从功能的角度来看,你可以把它看作是一个简化的带有内置身份验证的GitHub页面。
不幸的是,Github OAuth不允许请求对私有回购的只读访问,因此服务器需要完全访问(显然,它不会向你的回购写入任何内容)。由于GitHub API只允许检索1mb以下的文件,该服务不能返回更大的文件。然而,我发现这项服务非常适合小型项目,比如内部文档或网站的分期版本。
其他回答
github.com页面确实提到:
Github页面免费托管,通过我们的网站轻松发布,
没有提到访问控制。
GitHub页面帮助也没有提到任何ACL。 它们最好在gh-pages分支中进行管理,也可以在它们自己的子模块中进行管理。 但同样,在GitHub发布后,没有任何可视性限制。
如果您在私有回购上按下admin键,并向下滚动到关于页面的部分,它会写它将是公共的。我稍后会检查是否.htaccess control或类似的是可能的,但我不太希望它。
我已经对Github提出了支持票,并得到了一个回应,确认所有页面都是公开的。我现在要求他们在help.github.com/pages上添加备注。
根据GitHub Pages文档:
所有项目存储库都已准备好使用生成器进行发布。但是,请注意,私有存储库将发布公开的页面。
所以,目前还没有办法从私有的GitHub存储库创建私有的GitHub页面。
编辑:
一个简单的解决方法
对于一些可能有帮助的情况,一个解决方案是简单地将repo重命名为GitHub页面格式以外的东西,而你想要它是私有的(例如在开发阶段),当准备好将其公开时,然后更正名称。显然,如果您正在寻找一种方法来发布具有身份验证的页面,这仍然没有帮助,但如果您只是想在GH页面项目进行时隐藏它,这可能会有所帮助。
一个真实的Jekyll认证包装器(GitHub页面)
或者,有一个名为Jekyll Auth的项目,GitHubber @benbalter为此而制作。Jekyll Auth为Jekyll项目(包括GitHub页面)提供了一个基本的身份验证包装器。请参阅回购的README以获得使用。
有一篇文章介绍了如何在动态加载静态内容之前请求oAuth授权:
(archive.org)在私有存储库中使用JSON后端保护在Github页面上运行的网站(原始文章变成404)
内容应该存储在一个秘密的GitHub存储库中,查看器具有对它的读访问权。GitHub页面只存储服务的JS代码。