gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 13:26:47 25 4
gpt4 key购买 nike

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

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

我想要的更像这样

/js
plugin_one.js
plugin_two.js

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

干杯。

最佳答案

子模块非常适合将几个 repo 链接在一起形成一组固定的配置(即 SHA1 的集合代表每个子模块的固定集合,如它们的父 repo 所记录)

但是,它们总是被克隆到自己的目录中。
他们还有很多其他的 gocha(参见“Why your company shouldn’t use Git submodules”)。

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

一个没有版本控制,所有文件都放在一起。一个带有正常克隆的 repos(即子模块在它们自己的目录中)。

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

  • --git-tree 每个 git 命令的选项,--git-tree 指向第一组(带有 all其中的文件)
  • 足够完整的 .gitignore 能够忽略任何不属于其特定 repo 的文件。

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

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

关于没有自己文件夹的git子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com