Git设置了一组共享易失性代码的应用程序

时间:2011-08-29 08:19:59

标签: git workflow git-submodules

我们有7个应用程序(网站)共享一个共同的子模块。

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

我认为跟踪提交而不是HEAD的子模块概念很棒。不错且可预测......非常适合部署。但是,对于发展来说,这里是龙!

如果我们的子模块非常静态,例如。这里有一个xml库,那里有一个时区库,它们很完美 但是,如果我们编辑它们很多,它们会变得很痛苦!在上面的例子中,95%的编辑都在shared_engine中!我认为他们有两个原因是痛苦的......

  1. 开发时,您希望能够在所有应用程序中本地查看更改,而无需提交,推送和拉取。我通过创建符号链接来实现这一点(当然需要恢复提交时间)。
  2. 进行任何类型的分支需要相当多的管理员,因为所有网站和共享子模块都需要分支并将它们链接在一起。
  3. 目前,我已经编写了一系列bash脚本,这些脚本为我创建了符号链接,并完成了一些分支管理。他们是一种祝福,但可能会搞砸......我不禁觉得有更好的方法!

    非常诱惑只是为了从他们那里做一个大回购 网站回购约3MB,shared_engine约30MB。它会让生活变得更轻松......但是很有可能会有更多的网站出现。那么呢?

    我认为这可能是一个常见的问题......如果你处于类似的情况,你是如何处理它的?请救我脱离整体回购!

    欢呼-H

1 个答案:

答案 0 :(得分:0)

中间解决方案是在开发期间使用 gitslave

您将保留在用于集成/部署的父仓库中声明的子模块 但是对于日常开发,gitslave将允许您保持一组repo同步,尤其是在分支时。