我有几个跨子域的应用程序,在不同的服务器上,每个应用程序都有自己的git存储库。每个应用程序使用多个共享文件。本质上,我的repos是重叠的。如何最好地使用多个项目的多个编辑器来处理这种情况?
发布于 2009-10-08 22:37:47
我会试着把所有重叠的部分都做成git submodules。
发布于 2011-05-17 13:09:00
只要多个项目将其对子模块的更改推送到共享位置,是的,它们都可以对共享资源进行更改。也就是说,如果他们中的一个需要他们的是“特殊的”,他们将不得不分支子模块。
https://git-scm.com/book/en/v2/Git-Tools-Submodules
这将引导您完成一个包含子模块的超级项目,从超级项目中编辑子模块并将其推回。它还显示了一个危险,即如果您运行git submodule update
,并且在主分支上有本地未推送的更改,则会静默覆盖更改。
具体来说,在某个地方你有一个共享文件夹‘文件夹’-你需要从所有的git项目中删除这个文件夹,但在某个地方创建一个新的git repo,将当前内容作为初始提交。然后,您将在所有项目中使用git submodule <repo> folder; git submodule update
,这些项目现在将共享它。它们都将能够将更改推送到共享存储库,并能够将彼此的更改拉下。
发布于 2009-10-09 06:46:13
这听起来像是你应该划分公共元素,以便有一个明确的区别,然后使用子模块。确保你清楚地分离了常见的部分,否则你很可能会以一个难以维护的混乱而告终。
https://stackoverflow.com/questions/1540879
复制相似问题