我无法获取Git .gitignore文件来忽略包含我的Vim插件包目录的目录。我在macOS Mojave上运行Git版本2.22.0。我运行Vim 8.0并使用Vundle管理我的Vim插件。我的Vim插件目录结构如下:
/Users/smith/dotfiles/.vim/bundle/Vundle.vim
/Users/smith/dotfiles/.vim/bundle/ansible-vim
/Users/smith/dotfiles/ctrlp.vim
...
我的Git目录的根目录是/ Users / smith / dotfiles。
这些捆绑目录中的每个目录都包含其自己的Git存储库,这样当我运行“ git status”时,每个目录都将显示以下内容:
modified: .gitignore
modified: .vim/bundle/Vundle.vim (new commits)
...
我不知道如何使用Vundle来安装这些捆绑软件,而忽略了每个捆绑软件的.git目录。也许我应该使用子模块,但是我没有。
我认为我真的不需要跟踪这些包目录,而宁愿让Git忽略它们。但是无论我将.gitignore文件放入什么,只要我运行“ git status”,我仍然会看到这些具有新提交的bundle目录。
这是我的.gitignore:
other/ipythop/profile_default/history.sqlite
.DS_Store
.vim/.netrwhist
.vim/bundle/
*.*.swp
我尝试了很多事情:
.vim/bundle/
.vim/bundle
.vim/bundle/*
我什至试图包括每个目录,但这并不能阻止它们出现:
.vim/bundle/Vundle.vim
我在做什么错了?
答案 0 :(得分:3)
根据您提供的输出,实际上您正在使用子模块。 (new commits)
文本仅针对子模块显示。 您可能没有.gitmodules
文件,因为虽然通常建议使用子模块,但并不是严格要求子模块使用它们。
如果您不想将它们作为子模块进行跟踪,则可以运行git rm
将其删除,尽管请注意,这可能会删除那里的Git存储库,因此请备份那里的所有内容。然后,您可以将这些路径添加到.gitignore
文件中,Git会正确地忽略它们。 Git现在并没有忽略它们,因为如果已经将它们添加到.gitignore
中,则它们什么也没做。
如果要将它们添加为子模块,则可以创建一个空的.gitmodules
文件并运行git submodule add
(如有必要,可以使用-f
参数)来为它们设置遥控器