git子模块没有自己的文件夹

Luk*_*ann 5 git

我想制作项目的某些部分,例如外部jQuery插件。我正在为此目的寻找子模块。它们看起来非常完美,因为可以在一个集中点对其进行管理和更新。我唯一的问题是,它们克隆到一个文件夹中。这给我留下了这样的结构。

/js
   /plugin_one
      plugin_one.js
   /plugin_two
      plugin_two.js
Run Code Online (Sandbox Code Playgroud)

我想要的更像是这样。

/js
   plugin_one.js
   plugin_two.js
Run Code Online (Sandbox Code Playgroud)

子模块是可以实现的,还是我使用了错误的工具?

干杯。

Von*_*onC 2

子模块非常适合将多个存储库链接到一组固定的配置中(即代表每个子模块的固定集的 SHA1 集合,由其父存储库记录)

\n\n

但是,它们始终被克隆到自己的目录中。
\n而且他们还有很多其他 gocha(请参阅“为什么你的公司不应该\xe2\x80\x99t 使用 Git 子模块”)。

\n\n

解决这个问题的一种方法是维护两组不同的工作树:

\n\n

一份没有版本控制,所有文件都在一起。\n一份正常克隆存储库(即子模块位于其自己的目录中)。

\n\n

您可以在其中执行所有正常操作,但是:

\n\n
    \n
  • --git-tree每个 git 命令的选项,--git-tree指向第一组(包含所有文件的那个)
  • \n
  • 足够完整地.gitignore忽略任何不属于其特定存储库的文件。
  • \n
\n\n

这不是很令人满意,并指出子模块(即使在提供子模块的其他 VCS 中——Hg 和 subrepos、ClearCase 和 UCM 组件……)应该保持独立。

\n\n

因此,共享 JQuery 插件可能首先需要重新思考文件组织,看看这些文件是否确实可以被视为“子模块”。

\n