如何在我的回购中使用克隆的子模块?

时间:2013-01-16 20:55:31

标签: git version-control git-submodules git-commit git-add

我已经为我的.vim目录创建了一个repo,这样我每次更换我正在处理的机器时都不需要配置它。

所以我现在有类似的东西:

user@.vim$ tree -L 3 -a
.
|-- autoload
|   `-- pathogen.vim
|-- bundle
|   |-- jedi-vim
|   |   |-- after
|   |   |-- AUTHORS.txt
|   |   |-- autoload
|   |   |-- build
|   |   |-- CONTRIBUTING.md
|   |   |-- ftplugin
|   |   |-- .git
|   |   |-- .gitignore
|   |   |-- .gitmodules
|   |   |-- jedi
|   |   |-- LICENSE.txt
|   |   |-- plugin
|   |   `-- README.rst
|   |-- vim-colors-solarized
|   |   |-- autoload
|   |   |-- bitmaps
|   |   |-- colors
|   |   |-- doc
|   |   |-- .git
|   |   `-- README.mkd
|   |-- vim-surround
|   |   |-- doc
|   |   |-- .git
|   |   |-- .gitignore
|   |   |-- plugin
|   |   `-- README.markdown
|   `-- xmledit
|       |-- build.vim
|       |-- doc
|       |-- ftplugin
|       |-- Makefile
|       `-- README.mkd
`-- .git
    |-- //*** MY GIT REPO

当我执行git add .或任何其他add时,我无法将jedi目录添加到我的本地仓库。

这是我在那里唯一的.gitmodules文件:

$ cat ./bundle/jedi-vim/.gitmodules
[submodule "jedi"]
        path = jedi
        url = git://github.com/davidhalter/jedi.git

这是我git status

的结果
#       modified:   bundle/jedi-vim (untracked content)

我该怎么做才能完成这项工作?

1 个答案:

答案 0 :(得分:2)

您可以重新添加子模块。有一些不一致的东西。

删除.gitmodules,执行git rm --cached path/to/submodule并删除.git/config中的所有条目。

现在再次使用

添加它
git submodule add url path