私人Github回购的私人页面

时间:2012-05-25 03:22:31

标签: github github-pages

在github文档中找不到任何内容,也在SO上找不到。但我想知道是否有一个名为http://foo.github.com的私有存储库foo,只有一个可以访问foo存储库本身。{/ p>

我记得曾经读过一些关于github页面总是公开的内容,但似乎无法再找到它了。

令人惊讶的是,我似乎无法找到其他人提出这个问题。

13 个答案:

答案 0 :(得分:189)

我已经针对Github提出了一张支持票,并得到了回复,确认所有页面都是公开的。我现在要求他们在help.github.com/pages上添加一个注释。

答案 1 :(得分:56)

根据GitHub Pages documentation

  

所有项目存储库都准备好使用生成器进行发布。 但请注意,私人存储库将发布公开的网页。

所以不,此时无法从私有GitHub存储库创建私有GitHub页面。

修改

一个简单的解决方法

某些情况可能有用的解决方法是简单地将repo重命名为GitHub页面格式之外的其他内容,而您希望它是私有的(例如在开发阶段)以及何时准备公开然后更正名称。显然,如果您正在寻找一种方法来发布具有身份验证的页面,这仍然无济于事,但如果您只想隐藏GH页面项目,这可能有所帮助。

Jekyll的实际Auth Wrapper(GitHub页面)

或者,有一个名为Jekyll Auth的项目,GitHubber @benbalter用于此类用途。 Jekyll Auth为jekyll项目提供了一个基本的身份验证包装器,包括GitHub页面。 See the repo's README可供使用。

答案 2 :(得分:13)

page.github.com确实提到了:

  

Github Pages免费托管,并通过我们的网站轻松发布,

没有提及访问控制。

GitHub page help也未提及任何ACL 最好使用gh-pages branch管理它们,并且可以在their own submodule中进行管理 但同样,GitHub发布的可见度没有任何限制。

答案 3 :(得分:10)

有一篇文章介绍了如何在动态加载静态内容之前请求oAuth授权:

Securing Site That Runs on Github Pages With JSON Backend In Private Repository

内容应存储在一个秘密的GitHub存储库中,其中一个查看器具有对它的读访问权。 GitHub页面只存储服务的JS代码。

答案 4 :(得分:9)

如上所述,Github页面不支持该功能。当我们的团队决定在内部和私下托管项目文档(静态HTML)时,我遇到了同样的问题。

我最终创建了一个服务https://www.privatehub.cloud它基本上是一个带有Github OAuth身份验证的简单代理服务器,因此它只返回具有正确MIME类型的GitHub存储库内容。根据设计,只有有权访问foo的人才能在foo看到https://bar-foo.privatehub.cloud内容。从功能的角度来看,您可以将其视为具有内置身份验证的简化GitHub页面。

不幸的是,Github OAuth不允许read-only访问私有存储库,因此服务器需要完全访问权限(显然,它不会向您的存储库写入任何内容)。由于GitHub API仅允许检索1 Mb以下的文件,因此该服务无法返回较大的文件。然而,我发现该服务非常适合用于内部文档的小型项目或网站的暂存版本。

答案 5 :(得分:7)

Github页面在个人的免费私人存储库上不可用,如存储库设置所示:

enter image description here

答案 6 :(得分:2)

目前无法做到这一点。

但是,在官方GitHub public roadmap中,我们看到这将最终在 2020年第四季度为企业云客户实施

来自issue description

预期结果

如果组织要建立Intranet站点或发布内部文档,则私有页面将允许组织将内容保留为其组织私有。

答案 7 :(得分:2)

一月。 2021 年:GitHub Enterprise 现在可以实现(因此:github.com 还没有)。
见:

Access control for GitHub Pages

<块引用>

GitHub Pages 现在为您提供限制访问的选项,使站点仅对有权访问发布页面的存储库的用户可见。

通过访问控制,您可以使用 GitHub Pages 在整个企业内发布和共享内部文档和知识。

作为此版本的一部分,我们将引入以下功能:

  • 仓库管理员可以选择 GitHub Pages 站点是公开可见还是仅限于有权访问仓库的用户。
  • 私有和内部代码库都支持私有可见性。通过内部存储库,您企业中的每个人都可以使用登录 github.com 时使用的相同凭据查看主页
  • 组织管理员可以配置成员可以为其主页选择的可见性选项。例如,您可以强制您的成员只能私下发布内容。

此功能现已在 GitHub Enterprise Cloud 上正式发布。
要在 Pages 上启用访问控制,请导航到您的存储库设置,然后点击下拉菜单以在您网站的公开可见性和私有可见性之间切换。

Private publishing for GitHub Pages -- https://i2.wp.com/user-images.githubusercontent.com/55514721/101868473-46f81880-3b32-11eb-9708-a8537f41adaf.png?ssl=1

答案 8 :(得分:1)

如果你在私人仓库上按下admin并向下滚动到关于页面的部分,它会写道它将是公开的。我稍后会检查.htaccess控制或类似情况是否可行,但我对它没有多大希望。

答案 9 :(得分:1)

太可惜了,到了2020年,我们无法拥有私人的GithubPäges:

enter image description here

答案 10 :(得分:0)

您可以使用GitLab。您可以定义私人项目,所有设施都像Github。

答案 11 :(得分:0)

这个 GitHub 应用程序:https://github.com/apps/priv-page 允许用户为他们的私有仓库创建私有页面。

答案 12 :(得分:-2)

您可以在存储库中托管密码,然后只隐藏隐藏地址后面的页面,该页面源自该密码。这不是一种非常安全的方式,但很简单。

Demonstration