Github限制访问

时间:2012-02-23 18:11:22

标签: git version-control github

我正在使用github。

我正在试图弄清楚如何限制我拥有的承包商的回购访问权。

我有主要的rails代码库,我也有一个承包商,它将为我做一些css / ux类型的工作。

我想让承包商能够检查代码到git hub只对某些文件夹。

理想情况下,我可以让他签入代码,然后将其部署到服务器,以便他可以看到更改。

我认为我不能通过限制特定git仓库中的访问来实现这一点,但也许有一种方法可以使用两个仓库并以此方式限制访问。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:9)

如果所有css / ux文件都在特定的子文件夹中,并且您希望他能够访问该目录中的所有内容,那么您可以使用git子模块进行访问。

承包商将拥有对子模块的回购的推/拉权限,但对主回购没有提交权。

您也可以使用拉取请求功能,并确保他只提交到他想要的文件夹。

答案 1 :(得分:7)

我还没有这样做,但似乎你有两个选择:

1)授予承包商拉取访问权限(但不推送)到存储库。然后他们可以分叉它,在他们的分支上做他们的工作(可能在分支内?)然后发送拉请求你需要拉他/她的更改。下行是承包商无法将代码发布到服务器没有你的干预(这可能是一个好处,取决于)。

2)如果他们的工作被隔离到一个子树,请使用两个存储库和make one a submodule of the other。然后,您可以在2个存储库中以不同方式设置访问控制,但您可以获得项目的统一视图。