如何跨git存储库共享文件?

如何跨git存储库共享文件?,git,Git,我在不同的服务器上有几个跨子域的应用程序 每个应用程序都有自己的git存储库。每个应用程序使用多个共享文件。 本质上,我的回购协议是重叠的。 使用多个项目的多个编辑器如何最好地处理这种情况?我会尝试制作所有重叠部分。听起来您应该划分公共元素,以便有明确的区别,然后使用子模块。确保将公共部分清楚地分开,否则可能会导致无法维护的混乱。只要多个项目将对子模块的更改推送到共享位置,是的,它们都可以对共享资源进行更改。这就是说,如果其中一个需要他们的“特殊”,他们将不得不分支子模块 这将引导您完成一个包

我在不同的服务器上有几个跨子域的应用程序 每个应用程序都有自己的git存储库。每个应用程序使用多个共享文件。 本质上,我的回购协议是重叠的。
使用多个项目的多个编辑器如何最好地处理这种情况?

我会尝试制作所有重叠部分。

听起来您应该划分公共元素,以便有明确的区别,然后使用子模块。确保将公共部分清楚地分开,否则可能会导致无法维护的混乱。

只要多个项目将对子模块的更改推送到共享位置,是的,它们都可以对共享资源进行更改。这就是说,如果其中一个需要他们的“特殊”,他们将不得不分支子模块

这将引导您完成一个包含子模块的超级项目,从超级项目中编辑子模块并将其向上推。它还显示了一种危险,即如果您运行
git子模块更新
,并且在主分支上有本地未推送的更改,则会悄悄地覆盖更改


具体地说,在您有一个共享文件夹“folder”的地方—您需要从所有git项目中删除该文件夹,但在某个地方创建一个新的git repo,将当前内容作为初始提交。然后您将
git子模块文件夹;git子模块更新
,在所有现在将共享它的项目中。他们都将能够将变更推送到共享回购协议上,并且能够拉下彼此的变更。

您也可以使用该工具。wiki页面已链接。它基本上是
子模块
子树

的改进版本。经过一些研究,似乎我无法将共享资源作为子模块进行编辑。理想情况下,我们希望能够编辑他们所包含的其他项目中的共享内容,但要保留一个中心位置。对于子模块,这仍然是可能的吗?从事他们所包含的任何项目的人员都可以对子模块进行更改,但更改必须单独跟踪。没有办法将更改推送到git回购协议上,并让它明白某些更改也应该推送到其他回购协议上