如何在git分支上设置读取权限

时间:2018-03-23 09:50:42

标签: git version-control

这是我在与创业公司面谈时被问过的一个问题。

  

“在这种情况下,您如何保护核心源代码?   您想要外包程序的某个功能。您还希望在VCS存储库中添加该开发人员,但您不希望该人员能够阅读您最重要的代码。“

当我听到这个时,我就像是,“什么?”显然,我完全不及这个问题了。然后,那里有很多自由职业者。这些东西必须有安全措施。但说真的,你是怎么做到的?

  1. 您如何邀请某人访问您的存储库并阻止他们阅读某些部分? - 或 -
  2. 如果不共享源代码,您如何要求某人构建您的程序的一部分?

2 个答案:

答案 0 :(得分:1)

Git本身缺乏访问控制。但像Gitlab或Gerrit这样的托管服务却没有。以Gerrit为例,您可以让用户访问特定的分支,只读或读取&写作,直接推送或强制审查。

如果您的项目只有一个回购,并且您希望将其中的一部分共享给用户,则可以将您的回购分成两个,一个私有,另一个公开。至于构建,您可以设置一个构建环境,用户无法访问该环境,同时可以获取和集成用户的代码,并且用户可以接收构建结果。

答案 1 :(得分:0)

您可以阻止人们推送到分支机构(请参阅:A way to restrict Git branch access?),但如果您授予他们访问存储库的权限,则无法阻止人们检出某些分支。 git没有那种粒度。即使它有它,我也很难看到它是如何工作的。如果一个分支是另一个分支的后代怎么办?

如果你有这样的政策,你甚至不能指望人们如何有效地进行协作......