3

我们目前正在将我们的 Magento Enterprise(电子商务 Web 应用程序)文件移动到 Git 中。httpdocs/.gitignore 文件包含以下内容:

app/design/frontend/company/website/
skin/frontend/company/website/

在初始化、提交和推送 httpdocs/ 之后,我们的第一个 Git 存储库就成功创建了。我们现在想将上述两个目录放入它们自己的单独存储库中。(一起,在一个存储库中!)我们在这里遇到的问题是这些目录共享一个公共根目录,该根目录已经包含我们的第一个 Git 存储库;即:httpdocs/

我已经读过子模块功能可以将其他存储库嵌入现有树的子目录中。但是,例如kernel.orggit-scm.com上的文档似乎非常复杂,以至于我怀疑这是否真的是前进的道路。我们所需要的只是两个独立的存储库,它们恰好具有相同的根。

我读过的另一种可能的解决方案可能是从 app/design/frontend/company/website/ 初始化并添加 skin/frontend/company/website/ 作为移植点,以便将这些目录连接在一起。然而,再一次,这似乎过于复杂,并且打算在从另一个修订控制系统迁移到 Git 时使用。

4

3 回答 3

3

您将不得不使用子模块或通过子树合并链接不同的存储库。

如果您走子模块路线,请考虑使用gitslave因为如果您正在积极开发两个存储库,它将为您节省大量手动步骤。

希望这可以帮助。

于 2011-04-21T06:58:46.407 回答
0

您可以查看子树合并- 这是使用子模块的一种替代方法

在继续之前完成这些步骤并了解它的作用。

尽管像安东一样,您尝试做的可能不是最佳实践。实际上,它可能会导致您遇到其他问题!

于 2011-04-21T07:05:53.360 回答
0

从 git-1.7.11 开始,将子树命令添加到 git。它完全符合您的要求,没有子模块的问题,也没有子树合并的麻烦。(子树命令与子树合并不同)

这里有一篇相关的博文:在此处输入链接描述

于 2013-06-03T07:45:35.613 回答