我想制作项目的一些部分,比如我的jQuery插件外部。为此目的我正在研究子模块。 它们看起来非常完美,因为它们可以在一个集中点进行管理和更新。我唯一的问题是,他们克隆到一个文件夹。 这让我有了这样的结构。
/js
/plugin_one
plugin_one.js
/plugin_two
plugin_two.js
我想要的更像是这样。
/js
plugin_one.js
plugin_two.js
子模块是否可以实现,或者我使用了错误的工具?
干杯。
答案 0 :(得分:1)
子模块非常适合将几个repo链接到一组固定的配置中(即SHA1的集合代表每个子模块的固定集合,由其父代repo记录)
但是,它们总是克隆在自己的目录中 他们也有很多其他的gocha(参见" Why your company shouldn’t use Git submodules")。
解决这个问题的一种方法是维护两组不同的工作树:
一个没有版本,一起包含所有文件。 一个正常克隆的repos(即子模块在他们自己的目录中)。
你可以完成所有正常操作,但是:
--git-tree
选项,--git-tree
指向第一个集合( all 其中包含文件的那个.gitignore
能够忽略任何不属于其特定回购的文件。这不是很令人满意,并指出子模块(即使在提供它们的其他VCS中--Hg和subrepos,ClearCase和UCM组件......)应该保持独立。
因此,共享一个JQuery插件可能首先需要对文件组织进行一些重新思考,以确定这些文件是否确实可以被视为"子模块"。