【问题标题】:Is there a way to hide certain files on Github from non-collaborators?有没有办法对非合作者隐藏 Github 上的某些文件?
【发布时间】:2020-10-17 03:47:55
【问题描述】:
我目前正在创建一个 Github 存储库,我将在其中使用 Jupyter Notebooks 创建 PDF 供任何人访问。但是,我不希望非合作者能够访问 Jupyter Notebooks。是否可以向非合作者隐藏笔记本,但让我可以访问它们?我目前在 .gitignore 中有 Jupyter Notebooks,但这使得跨计算机工作变得困难,因为它们不再被推送到存储库。有什么方法可以做到这一点,还是我应该为笔记本创建一个私有存储库?
【问题讨论】:
标签:
github
jupyter-notebook
【解决方案1】:
您应该为它们创建一个独立于主存储库的私有存储库。
一般来说,有权从 Git 存储库克隆或获取的人可以读取该存储库中的任何对象。来自gitnamespaces(7):
获取和推送协议并非旨在防止一方从另一方存储库中窃取不打算共享的数据。如果您有需要保护的私有数据免受恶意对等方的侵害,最好的选择是将其存储在另一个存储库中。这适用于客户端和服务器。
然后,手册页继续描述了可能发生的各种攻击,以允许用户通过仅了解部分数据来从存储库中窃取数据。
请注意,您为此私有数据创建的存储库不应是主存储库的复刻,因为 GitHub 跨复刻共享对象,攻击者可能对复刻执行相同的攻击。