我是github社区的新手,我有自己的私人项目(网站),一切正常。
我已经与一家SEO专家公司签订了合同,我在这个项目中有10个主要文件夹我想让他们只访问一个文件夹,他们可以在那里进行更改并提交一个Pull Request。 / p>
我能做到吗?或者你有不同的方法吗?
来自专家的任何帮助:)
答案 0 :(得分:2)
对于付费github帐户,可以使用github的 codeowners 功能。
代码所有者是通过在存储库的根目录中添加一个名为 CODEOWNERS 的文件来定义的。
语法:
# <directory or file filter> <user or group>
# Examples:
README.md @octocat
/veryimportant/ @myorganization/teamname
文档:https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
对于付费github订阅,可以通过以下方式限制PR:在合并之前,需要代码所有者进行审查:
已配置好此配置后,对通过CODEOWNERS
文件配置的位置/文件/目录进行更改的拉取请求需要进行代码所有者审查。截图:
管理员和所有者仍然可以直接向master
提交信息。因此,建议也将分支限制也应用于管理员:
答案 1 :(得分:1)
开箱即用的GitHub存储库上没有实现此类访问权限机制。
使用子模块可以解决问题,并且设置起来非常简单。在将子模块存储库添加到主项目存储库时,您可以为客户提供对子模块存储库的完全访问权限。
请注意,StackOverflow问题"Using someone else's repo as a Git Submodule on GitHub"和its answer也值得一读。
在我看来,这是最简单直接的方法。
如果您真的不想使用子模块,您仍然可以通过创建实现此机制的GitHub webhook来限制访问权限。 Git SCM documentation解释了如何做到这一点。