Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 基于kohana项目的源代码控制结构_Git_Version Control_Mercurial_Kohana 3 - Fatal编程技术网

Git 基于kohana项目的源代码控制结构

Git 基于kohana项目的源代码控制结构,git,version-control,mercurial,kohana-3,Git,Version Control,Mercurial,Kohana 3,我目前有几个项目使用kohana作为框架,以及我目前拥有的 是这样的目录结构吗 project - application - system - modules “project”目录受mercurial源代码控制,我基本上复制和粘贴我使用的模块。并将其提交给每个项目 然而,我现在发现我修复了一个模块中的一个bug,并且没有简单的方法将该修复推广到使用该模块的所有其他项目中 我想做的是以某种方式链接模块,以便在需要时轻松获得更新。(我一直在寻找这样做的次级回购) 现在我在mercurial网站

我目前有几个项目使用kohana作为框架,以及我目前拥有的 是这样的目录结构吗

project
- application
- system
- modules
“project”目录受mercurial源代码控制,我基本上复制和粘贴我使用的模块。并将其提交给每个项目

然而,我现在发现我修复了一个模块中的一个bug,并且没有简单的方法将该修复推广到使用该模块的所有其他项目中

我想做的是以某种方式链接模块,以便在需要时轻松获得更新。(我一直在寻找这样做的次级回购)

现在我在mercurial网站上读到了 “使用薄壳存储库管理子存储库”

所以我提出了这个概念

applications
- application1 (hg repo)
- application2 (hg repo)

mymodules
- mymodule1 (hg repo)
- mymodule2 (hg repo)

project  (hg repo)
- application (sub repo pointing to applications/application1)
- modules (several git repos on github, custom modules which are in mymodules/module1 repos)
- system (git repo on github)

website
- project (links to project repo, including application, modules and system)
- assets (images, css, etc)
现在,我认为这是一个非常复杂的结构,对于本质上是一个简单的问题,我有点过头了

我也不知道我该怎么做工作

  • 在我的网站中,我会重新创建repos并将其推回到项目中,这将被推回到应用程序和模块中

  • 或者我应该在应用回购协议上工作,并将其提升到网站级别

  • 那么,这是构建事物的最佳方式吗

    还有必要对我使用的所有github模块进行本地克隆以加快速度吗


    任何值得赞赏的帮助

    subrepos解决方案都是一个很好的解决方案,因为它允许分离:

    • 开发结构(由所有回购协议组成)
    • 部署结构(即编译和运行程序所需的结构,或正确显示网站所需的结构)
    如何使其工作意味着如何组织发布管理过程。
    您应该对repo进行修改,然后将其传播到部署结构(通过项目内的更新,然后在网站内更新项目)