我正在使用Github。
我想知道如何限制承包商对仓库的访问权限。
我有主要的Rails代码库,还有一个承包商将为我完成一些CSS/UX类型的工作。
我希望给承包商只能在特定文件夹中提交代码到Github的权限。
最好的情况是,他可以提交代码,然后部署到服务器上,以便他可以查看更改。
我不认为我可以通过限制特定Git存储库内的访问来实现这一点,但也许可以通过使用两个存储库并以此方式限制访问。
任何帮助都将不胜感激!
我正在使用Github。
我想知道如何限制承包商对仓库的访问权限。
我有主要的Rails代码库,还有一个承包商将为我完成一些CSS/UX类型的工作。
我希望给承包商只能在特定文件夹中提交代码到Github的权限。
最好的情况是,他可以提交代码,然后部署到服务器上,以便他可以查看更改。
我不认为我可以通过限制特定Git存储库内的访问来实现这一点,但也许可以通过使用两个存储库并以此方式限制访问。
任何帮助都将不胜感激!
如果所有的CSS / UX文件都在一个特定的子文件夹中,并且您希望其可以访问该目录以及更深层次的所有内容,则可以使用git子模块来实现。
承包商将拥有对作为子模块的仓库的推送/拉取权限,但没有主要仓库的提交权限。
您也可以使用拉取请求功能,并确保他只提交到他想要的文件夹。
我没有这样做过,但似乎你有两个选择:
1)授予承包商对存储库的拉取访问权限(但不是推送)。然后他们可以 fork 它,在其 fork 上进行工作(可能在分支内),然后向您发送 pull 请求,您需要拉取他/她的更改。缺点是承包商无法在没有您干预的情况下将代码发布到服务器上(这可能是一个优点,具体取决于情况)。
2)如果他们的工作仅限于一个子树,请使用两个存储库,并使一个成为另一个的子模块。然后,您可以在 2 个存储库中设置不同的访问控制,但您会获得项目的统一视图。