2011-04-20 38 views
3

我们目前正在将我们的Magento Enterprise(电子商务Web应用程序)文件转移到Git中。在httpdocs资料/的.gitignore文件中包含,除其他事项外:如何在不使用分支的情况下在同一个基本目录中创建两个Git存储库?

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时使用。

+1

,你不能有两个仓库用相同的根目录。我想使用子模块将是唯一的选择 – knittl 2011-04-20 11:25:32

+4

建议您先阅读git最佳实践,但如果您确实需要两个单独的回购,然后创建两个文件夹,并将它们符号链接到目标 – 2011-04-20 13:32:12

+0

安东,感谢您的符号链接建议,我会继续前进。 – Norbert 2011-04-21 07:23:33

回答

3

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

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

希望这会有所帮助。

0

你可以看一下subtree merging - 这是某种替代的使用子模块

完成这些步骤你去了解它之前,走在前面呢。

虽然和安东一样,但你所要做的可能并不是最好的做法。事实上,它可能会导致您遇到其他问题!

0

从git-1.7.11在子树命令被添加到git。 它确实是你想要的,没有子模块的问题,也没有子树合并的麻烦。 (子树命令的东西比树合并不同)

这里一个相关的博客帖子:enter link description here

相关问题