如何在 Git 仓库中限制文件/文件夹的访问?

3
在Github上,我如何限制私有存储库中的某些文件夹或文件?
我不想给开发人员完全访问存储库中的所有内容。
1个回答

1

你不能这样做。

如果你给某人推送的权限,他将能够随意推送任何内容。

如果你想让某人拥有部分访问权限,你有很多选择:

  • 让他 fork 并拉取请求存储库。你可以检查它是否达到你的目的
  • 非常清楚地表明他不应修改除这些文件/文件夹之外的任何其他文件/文件夹,并定期检查提交历史记录。
  • 创建一个 post-receive 钩子来检查提交所修改的内容、作者并根据此接受或拒绝提交。

如果你不希望他对其他文件具有读取访问权限,则最好的方法是为他创建一个单独的 git 存储库,并将其用作你自己 git 存储库的子模块。请参见此处:https://git-scm.com/book/en/v2/Git-Tools-Submodules


谢谢。如果他复刻,他可以访问所有的文件吗?在单独的仓库中创建目录呢? - I'll-Be-Back
如果他fork了,他就可以访问所有的文件。如果读取权限也是个问题,你可以在一个单独的代码库中创建文件夹,这可能是个不错的选择。我会编辑我的回答来涵盖这一点。 - blue112
是的,我可以创建一个仅包含他们需要的文件/目录的单独的仓库(迷你仓库)。但是,如果开发人员执行git pull命令,是否可以从主仓库获取最新代码?其他开发人员也会在主仓库上执行git pull命令,这也会从迷你仓库中拉取。这些仓库将存储在GitHub上。 - I'll-Be-Back

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接