0

我正在使用 git + 病原体来跟踪我的 vim 插件。我的 .vim 文件夹中有一个 git repo,我所有的插件都在该bundle文件夹中。

要添加一个新插件,我会这样做:

git submodules add git://github.com/plugin.git bundle/plugin

它适用于大多数插件(它将新的 repo 克隆到指定的位置,我对我的 vim 很满意)。

但是,对于某些存储库,它根本不起作用。不工作是指:

  • 运行后git submodules add它不会输出任何东西(与克隆信息不同)。
  • 在中创建一个空文件夹bundle/plugin
  • .gitmodules 和 .git/config更新以反映更改(打开 .gitmodules 您可以看到新的存储库,就像所有其他存储库一样)

我被告知我应该git submodule init && git submodule update在添加一个新的子模块后运行。是否有可能忘记这样做可能会导致问题?

4

1 回答 1

1

子模块需要在 3 个地方注册。确保这些设置正确:

  1. .gitmodules文件有一个条目
  2. .git/config有一个条目
  3. git ls-tree sha1子模块所在的树对应于子模块中的提交
于 2012-12-14T20:13:22.557 回答