【发布时间】:2012-06-30 19:19:27
【问题描述】:
我有一个文件夹,它是一个 git repo。它包含一些文件和 .gitmodules 文件。现在,当我执行git init 然后git submodule init 时,后面的命令输出什么都没有。如何帮助 git 查看 .gitmodules 文件中定义的子模块,而无需再次手动运行git submodule add?
更新: 这是我的 .gitmodules 文件:
[submodule "vim-pathogen"]
path = vim-pathogen
url = git://github.com/tpope/vim-pathogen.git
[submodule "bundle/python-mode"]
path = bundle/python-mode
url = git://github.com/klen/python-mode.git
[submodule "bundle/vim-fugitive"]
path = bundle/vim-fugitive
url = git://github.com/tpope/vim-fugitive.git
[submodule "bundle/ctrlp.vim"]
path = bundle/ctrlp.vim
url = git://github.com/kien/ctrlp.vim.git
[submodule "bundle/vim-tomorrow-theme"]
path = bundle/vim-tomorrow-theme
url = git://github.com/chriskempson/vim-tomorrow-theme.git
这里是这个目录的列表:
drwxr-xr-x 4 evgeniuz 100 4096 июня 29 12:06 .
drwx------ 60 evgeniuz 100 4096 июня 29 11:43 ..
drwxr-xr-x 2 evgeniuz 100 4096 июня 29 10:03 autoload
drwxr-xr-x 7 evgeniuz 100 4096 июня 29 12:13 .git
-rw-r--r-- 1 evgeniuz 100 542 июня 29 11:45 .gitmodules
-rw-r--r-- 1 evgeniuz 100 243 июня 29 11:18 .vimrc
所以,当然,它是顶级的。 git目录没有变化,只完成了git init
【问题讨论】:
-
子模块是否已经存在,如果你切换到任何子模块目录,就会有文件存在,
git rev-parse --show-toplevel给你的是子模块而不是“超级模块”目录? -
不,子模块目录不存在。想象一下这个文件夹完全是空的,只有
.gitmodules文件 -
啊,我明白问题所在了——我已经更新了我的答案。
标签: git git-submodules