我不确定我的标题是否具有描述性,所以让我告诉你这个问题,即使你无法解决它,也许你可以建议一个更好的标题。
我有两个编程团队。当然,内部团队可以访问所有源代码,但外包团队应该可以访问所有内容,除了树中的一个目录。那里有专有的东西,那些家伙不应该看到它,更不用说改变它了。理想情况下,他们甚至不会意识到它的存在。
也许我应该有两个远程存储库,一个包含公共文件,另一个包含专有文件,但在这种情况下,开发人员如何创建一个混合存储库,其中一个分支的根目录从一个远程和一个目录跟踪从另一个更深的轨道?
我无法相信自己会成为第一个遇到此问题的人,但我甚至想不出用它来表达Google搜索的方法。
答案 0 :(得分:3)
我建议您将项目拆分为两个不同的存储库,并使用submodule链接它们。
这样,您就可以为每个存储库拥有一组不同的权限。
答案 1 :(得分:0)
您可以使用gitignore文件指定GIT不应处理的文件/目录。
答案 2 :(得分:0)
您可以使用gitslave(http://gitslave.sf.net)或git submodules形成一棵树,顶部是公共仓库,底部是隐藏仓库。
gitslave会更好地为你工作,因为它不会干扰像git-submodules那样的正常git命令,这意味着没有访问子模块的人不会因缺席而烦恼/受到伤害。 gitslave也可以更好地工作,因为你可能会在两棵树上进行积极的开发,因此不需要进行子模块所需的checkout / commit / commit舞蹈。