2012-08-25 93 views
3

我想做我的項目的一些部分,如我的jQuery插件外部。我正在爲此目的尋找子模塊。 它們看起來非常完美,因爲它們可以在一個集中點進行管理和更新。我唯一的問題是,他們克隆到一個文件夾。 這給我留下了一個像這樣的結構。git submodule沒有自己的文件夾

/js 
    /plugin_one 
     plugin_one.js 
    /plugin_two 
     plugin_two.js 

我想要的更像是這樣。

/js 
    plugin_one.js 
    plugin_two.js 

這是可以實現的子模塊還是我使用了錯誤的工具?

乾杯。

回答

1

子模是非常適合在一起的幾個回購連接成一組固定的構型(即,SHA1的表示一組固定的每那些子模塊的集合,所記錄的它們的父回購)

然而,它們總是克隆在自己的目錄中。
而且他們也有很多其他gocha(參見「Why your company shouldn’t use Git submodules」)。

人去周圍的辦法是維持2組不同的工作樹:

一個不受版本,所有的文件一起。 一個與回購通常克隆(即與子模塊在自己的目錄中)。

你可以在裏面做所有的正常運作,但有:每個Git命令

  • --git-tree選項,--git-tree指向第一組(具有所有在它的文件)
  • 一個足夠完整的.gitignore能夠忽略任何不屬於其特定回購的文件。

這並不令人滿意,並指出子模塊(甚至在提供它們的其他VCS中 - 即Hg和subrepos,ClearCase和UCM組件,...)應該保持獨立。

因此,共享一個JQuery插件可能首先需要重新思考文件組織,以確定這些文件是否確實可以被視爲「子模塊」。