2011-08-29 29 views
2

我们有7个应用程序(网站)共享一个公共子模块。共享易失代码的应用程序集合的Git设置

website1.git 
website2.git 
... 
shared_engine.git 

我想跟踪犯,而不是头部的子模块的概念是很大的。很好,可以预测...非常适合部署。但是,为了发展......这里是龙!

如果我们的子模块是非常静态的,例如。这里有一个xml库,那里有一个时区库,它们是完美的。
但是,如果我们编辑他们很多,他们可以成为一种痛苦!在上面的例子中,95%的编辑都在shared_engine中!我相信他们是有2个原因疼痛...

  1. 当开发要能够在本地看到贯穿于所有应用程序的更改,而不必提交,推拉。我通过创建符号链接来实现这一点(当然这需要恢复来提交时间)。
  2. 做任何形式的分支都需要一定的管理权限,因为所有网站和共享子模块都需要分支并将它们链接在一起。

目前,我已经写了一个bash脚本集合,它为我创建了符号链接,并完成了一些分支管理。他们是一个幸福,但可以搞砸了..我不禁感觉有一个更好的方法!

我是很差诱惑只是为了让他们一个大回购。
网站回购约为3MB,shared_engine约为30MB。这会让生活变得更容易..但是有更多的网站可能会出现。然后怎样呢?

我认为这可能是一个普遍的问题...如果你处于类似的情况你如何处理它?请把我从单体回购中拯救出来!

欢呼声-H

回答

0

的中间解决办法是使用,在开发过程中,gitslave

您将保留在用于集成/部署的父回购库中声明的子模块。
但是对于日常的开发,gitslave可以让你保持一组回购同步,特别是在分支时。

+0

谢谢,它看起来很有用!对于避免将最新的子模块提交添加到超级项目中来说非常有用。 – thehenster

+0

我们仍然需要创建符号链接,以便在开发过程中允许共享库在所有应用程序中使用。虽然没有biggie ..我发现另一个链接讨论的选项,如果有人想要它:http://stackoverflow.com/questions/6500524/git-subtree-or-gitslave-if-switch-away-from-git-submodules – thehenster

相关问题