私人Github仓库的私人页面


244

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

我记得读过一些关于github页面的信息,这些页面总是公开的,但似乎再也找不到了。

令人惊讶的是,我似乎也找不到其他人问这个问题。


2
我想那时并没有很多人使用Github来托管私人仓库。至少,其中很少有人使用gh页。
悉达多·雷迪

我认为正确答案现在应该是stackoverflow.com/a/54340540/1168342
Fuhrmanator

Answers:


219

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


6
为了让GitHub页面正常工作,您的页面回购是否必须公开?
丹尼斯

34
@丹尼斯:不,不是-您的回购可以是私人的。但是发布的页面将是公开的,并且GitHub没有内置的方式来限制视图访问权限,仅允许该私有存储库中的贡献者看到它们。
Merlyn Morgan-Graham

6
仅供参考,在这里
Derek Adair

//,对于Github来说,访问控制是一个非常有趣的问题。我喜欢这引起了一定的关注,@ kashyap!谢谢。
弥敦道(Nathan Basanese),2015年

在上面添加到@Derek Adair评论。该站点说:“警告:GitHub Pages站点可以在Internet上公开访问,即使它们的存储库是私有的。如果您的Page存储库中有敏感数据,您可能希望在发布之前将其删除。”
杰伊·基林

62

根据GitHub Pages文档

所有项目存储库都可以使用生成器进行发布。但是,请注意,私有存储库将发布公共页面。

因此,没有,目前无法从私有GitHub存储库创建私有GitHub页面。

编辑:

一个简单的解决方法

某些情况下可能有用的解决方法是,在您希望将存储库设为私有(例如在开发阶段)时,将存储库重命名为GitHub页面格式以外的其他格式,并准备将其公开后再更正名称。显然,如果您正在寻找一种发布具有身份验证的页面的方法,这仍然无济于事,但是,如果您只想在正在进行的GH页面项目中隐藏它,则可能会有所帮助。

Jekyll的实际Auth Wrapper(GitHub页面)

另外,还有一个名为Jekyll Auth的项目,GitHubber @benbalter专门为此用途而设计。Jekyll Auth为jekyll项目(包括GitHub页面)提供了基本的身份验证包装。请参阅回购的自述文件以供使用。


1
看起来第一个链接很旧。help.github.com/articles/what-is-github-pages现在也有类似的警告。
激进的ward101

14

page.github.com确实提到:

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

无需提及访问控制。

GitHub的页面的帮助并没有提及任何ACL无论是。
最好在gh-pages分支对其进行管理,并且可以在其自己的子模块中进行管理。
但是同样,一旦由GitHub发布,可见性就没有任何限制。


14
确实。所有页面都是公开的。我得到了来自github的回复(在支持票上),以确认这一点。
kashyap 2012年

13

许多答案已经过时了(Microsoft之前的收购/免费的私人仓库)。这是在宣布免费私人回购协议后写的。

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

在此处输入图片说明

2020年(现在最基本的计划是“团队”):

升级到github团队或将此存储库公开以启用Pages


5
真是可惜 这家广告公司大声疾呼地免费提供私人回购协议,但它们却大大削减了其功能。
罗伯特·埃斯蒂夫


8

如上所述,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以下的文件,因此该服务无法返回较大的文件。但是,我发现该服务非常适合用于内部文档或网站暂存版本的小型项目。


1
注意:此服务现在已失效(或可能暂时崩溃)
Jason Axelson

1

如果您在私人仓库上按admin并向下滚动到有关页面的部分,则它将被公开。稍后我将检查.htaccess控件或类似的控件是否可行,但是我对此没有多大希望。


1
.htaccess方法不起作用。如果有任何有用的建议,请告诉我:)
罗德·费舍尔

我也找不到任何东西。我想这个问题现在已经关闭。
kashyap 2012年


-3

您可以将密码托管在存储库中,然后仅将页面隐藏在从该密码派生的隐藏地址后面。这不是很安全的方法,但是很简单。

示范

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.