2013-02-25 71 views
0

是否可以使用另一个GIT知识库的某些部分创建一个全新的GIT知识库?从其他知识库的某些部分构建GIT知识库

让我解释一下。我有一个有几个模块的大小适中的存储库。这个“系统”可以完全或模块化使用。但是从主存储库中取出每个模块所需的所有文件并不总是一件容易的事情。

所以我想知道如果我可以创建一些小的存储库,让我们说一个为每个模块及其所有依赖项,并保持它们与主存储库同步。

从概念上讲,它将是一个子模块,但除非我错了,否则这不是该功能的原因。

回答

0

Git子模块可让您将整个子目录移动到单独的存储库中,并链接到那里的确切提交。

如果你的模块重叠,就像你有很少的共享目录,并且每个模块在每个目录中都有几个文件,那么你需要重新设计你的模块。 Git的子模块都不错,当你有这样的目录hiearchy:

|-- application 
| |-- class 
| `-- some stuff 
| 
`-- plugins 
    |-- first 
    | |-- class 
    | `-- some stuff 
    |-- second 
    | |-- class 
    | `-- some stuff 
    `-- third 
     |-- class 
     `-- some stuff 

plugins/firstplugins/secondplugins/third是子模块根目录。

+0

嗯,所以我认为这是不可能的,因为即使这些模块的大部分都是像你说的那样构造的,并非所有需要的文件都是。例如,my ** HTTP Request **类位于_/HTTP_下,但需要存储在_/Core_ – 2013-02-27 20:44:27

+0

中的超类。子模块之间的依赖关系不成问题。你只需要安装所有的依赖关系。来自一个插件的所有文件的位置必须专门位于一个子目录中,即git子模块,这些文件使用的内容并不重要。 – 2013-02-27 22:11:24

+0

它会如何工作,例如,如果三个子模块具有相同的依赖关系,并且需要修复此依赖关系中的某些内容?所有参考是否会自动更新?如果一个项目使用两个具有相同依赖关系的模块,不会导致问题需要使用所选语言的两个模块? – 2013-03-01 00:41:43