我们的git存储库通常包含我们整个网站的代码。服务。这包括营销,法律,用户界面等所有措辞费力的文本。
基本上,一个流氓开发者可以克隆它,改变一些事情,并成为我们的竞争者(除了所有法律问题)。或者更有可能的是,他们经常会在未经授权的情况下将其他人作为他们自己的作品。在某些情况下,这会导致早期披露我们不想要的功能和功能。
在任何情况下,这都被认为是一种风险,因为我们偶尔会与全球各地的开发人员合作,并且需要尽快添加更多内容 - 授予他们访问他们将要处理的整个代码库的权限。
你有没遇到过这个问题?或者已经实施了减少或减轻类似风险的解决方案?
我在想一个潜在的策略可能是创建3个具有不同目的(不是分支)的个人git REPOSITORIES,但是这样的话:
Git Repo:Project1_DEVELOPERS
$git branch
master
dev
issue_feature1
issue_feature2
etc..
上面的工作流程:基本上是问题/功能分支样式。向开发人员委派任务,将其作为问题/功能分支进行检查。完成后,提交分支&将请求合并到dev分支。我们测试分支&如果确定,请合并到开发。
以上基本上就是我们今天的工作方式。就是这样。整个回购都在' master'因为它被发布到世界各地。
但为了达到既定目标,我想添加类似......
Git Repo:Project1_OBFUSCATE
$git branch
strips_and_swaps (for sending to DEVELOPERS repo)
prod_patches (the patches to make it "whole" again)
prod_master (branch that PRODUCTION repo pulls into its master branch?)
和生产回购...
Git Repo:Project1_PRODUCTION
$git branch
master
就问题的内容而言,想象一下简单的网页作为回购......
.git
index.html
logo.png
因此,我的目标是剥离或修补真实/假冒" logo.png"来自"开发商"中的分支的虚拟徽标;回购。
实际上,它可能是一堆.blade文件(Laravel).twig文件或任何可能包含我们希望限制访问的内容位的模板文件,而不仅仅是logo.png。在某些情况下,这些文件可能只存在于" OBFUSCATE"远程
有没有人做过类似的事情,可能会分享一些见解?
按照我建议的方式考虑这样做会让我感到很痛苦,甚至可能无法工作:)
答案 0 :(得分:3)
如果可能的话,最佳做法是在他们自己的Git仓库中隔离敏感信息,而不是将所有内容保存在一个巨大的仓库中。
您仍然可以通过使用父回购来获得全局图片,该回购会将所有其他回购引用为 submodules 。
但如果敏感数据在一个仓库中,您可以在访问期间保护它 这比尝试保护分支更容易(您可以防止推送,而不是拉动,意味着仍然可以访问其内容)或模糊远程网址。