所以,我已经检查了一下有关子模块和其他技巧来处理这个,但我不确定它是否真的满足了我的需要。这是我目前的内容管理系统的git repo:
/Atlas
/Atlas/Core
/Sites
/Sites/site1
/Sites/site2
当然是简化的。但“Core”是包含CMS所有代码的文件夹,“/ Sites”是一个文件夹,其中包含每个站点的子文件夹。我添加了/ Sites下的所有网站,但有些网站被.gitignore排除
现在,其中一些被排除的是与客户无关的。以相同结构运行的个人网站。我现在需要的是有一个git存储库,我可以检查,编辑和推送对这些个人网站的更改,并非所有开发人员都需要访问。所以.gitignore有:
/Sites/site3
例如,但是我需要检查site3,编辑它并将其推回到服务器,而不包含在前面提到的repo中。子模块可以实现吗?或者我还需要其他方法吗?
答案 0 :(得分:0)
您似乎可以使用简单的分支来解决这个问题,每个站点都有一个分支。
通常我建议不要使用长时间运行的功能分支,但如果我理解你的问题,你就不会打算将它们合并回主分支。在这种情况下,您需要做的唯一合并是master - > site3,没有其他开发人员需要提取您在site3分支中所做的更改。
当您将此分支推送到远程服务器时,您的开发人员可以看到它(可能对协作有用),但当他们只想更新其本地主副本时,不会包含在他们的git pull中。
我能看到的唯一问题是,您的内容管理系统无法从单独的远程分支加载单独的站点。