如何设置Granular Access到我们的Codebase / Git Repos?

时间:2015-08-07 21:08:42

标签: git github

我们有一个Git仓库,目前包括后端处理脚本,前端设计,api端点等(我们在github上托管)

所有前端都使用我们的命名空间类,admin后端甚至引用它们。

所以文件夹可能是

from datetime import date

filename = 'myfile_{}.extension'.format(date.today())

f = open(filename, 'w')

print f.name  # 'myfile_2015-08-07.extension'

我们使用DeployHQ作为将Stage和Master分支部署到各种服务器的方法。

我会喜欢文件夹特定的权限。 (没有发生)。那么设置它的最简单方法是什么呢。我不希望设计师使用Repo访问整个项目,但能够在publichtml / views上更改次要内容; (master自动部署到我们的ELB)。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我不知道什么是DeployHQ,但是使用git我可能会使用git submodule

我的项目fAfB中有两个文件夹。和开发人员A,设计师B

我希望A拥有对这两个存储库的完全访问权限,但B只能推送到fB

我将首先创建两个存储库repoArepoB

我会给A 两个存储库推送访问权限(甚至强制推送访问权限)。然后我会给B repoA访问repoB推送访问。

然后我将创建一个名为repoTop的集成项目。我会将repoArepoB添加为repoTop的子模块。 repoTop的访问权限取决于,如果您的某个人的工作是发布软件,那么可能只是授予他repoTop的推送权限以及对repoArepoB的读取权限。点是推动访问repoTop的人应该是负责发布项目的人。

然后设计师B可以读取/使用所有代码,但他无法将代码推送到repoA。最好的事情是,如果设计师B写了repoA的一些改进(是的,这里不是拼写错误)。虽然他无法推送到repoA,但他可以创建拉取请求,而开发人员A可以审核并决定是否要将其合并。

对于git submodule,请检查this链接。