这是我在与创业公司面谈时被问过的一个问题。
“在这种情况下,您如何保护核心源代码? 您想要外包程序的某个功能。您还希望在VCS存储库中添加该开发人员,但您不希望该人员能够阅读您最重要的代码。“
当我听到这个时,我就像是,“什么?”显然,我完全不及这个问题了。然后,那里有很多自由职业者。这些东西必须有安全措施。但说真的,你是怎么做到的?
答案 0 :(得分:1)
Git本身缺乏访问控制。但像Gitlab或Gerrit这样的托管服务却没有。以Gerrit为例,您可以让用户访问特定的分支,只读或读取&写作,直接推送或强制审查。
如果您的项目只有一个回购,并且您希望将其中的一部分共享给用户,则可以将您的回购分成两个,一个私有,另一个公开。至于构建,您可以设置一个构建环境,用户无法访问该环境,同时可以获取和集成用户的代码,并且用户可以接收构建结果。
答案 1 :(得分:0)
您可以阻止人们推送到分支机构(请参阅:A way to restrict Git branch access?),但如果您授予他们访问存储库的权限,则无法阻止人们检出某些分支。 git
没有那种粒度。即使它有它,我也很难看到它是如何工作的。如果一个分支是另一个分支的后代怎么办?
如果你有这样的政策,你甚至不能指望人们如何有效地进行协作......