我经常发现我的理解远比我想的要少得多......特别是当它对git和github来说时。我再次遇到这种情况,并希望有人可以提供帮助。
背景: 这一切都在Windows 7中,PowerShell v4作为我的cli。
我长期将我的vim配置保存在我的本地文件系统中的〜\ .vim文件夹中(管理〜\ vimfiles,〜\ _vimrc等的符号链接)和github中的" .vimrc&# 34;存储库,通过病原体管理我的插件,并将它们作为子模块添加到repo中。只要我记得在添加新插件之前刷新我的memnory,一切都很顺利。
但我最近决定将所有最重要的配置文件保存在本地〜\ .dotfiles文件夹中,并将github保存在类似名称的repo中(再次使用相应的符号链接来管理)。
我以为我已经把它全部搞砸了,准备好了,直到我尝试将表格插件添加到我的vim配置中。
第一个错误最初只是从github克隆表格回购而不是将其添加为子模块。第二个错误是没有查找如何从我当地的仓库中正确删除克隆的回购。也许我做错了并导致了我后续的问题(我想我刚刚删除了〜.dotfiles.vim \ bundle中的表格文件夹)
无论如何,在删除克隆的插件repo文件夹后,我尝试添加子模块并将事情炸毁,如下面的记录所示:
(note 1: I originally just cloned the tabular repo (by mistake). That worked
perfectly but perhaps I didn't remove the cloned repo correctly)
(note 2: currently in ~\.dotfiles folder)
---<TRANSCRIPT>---
13:11:44|OBERON|316|# git submodule add git://github.com/godlygeek/tabular .vim/bundle/tabular$
fatal: Not a git repository: ../.git/modules/.vim/bundle/tabular$
Unable to checkout submodule '.vim/bundle/tabular'$
13:13:44|OBERON|318|# gci$
Directory: C:\Users\arley.dealey\.dotfiles$
$
Mode LastWriteTime Length Name$
---- ------------- ------ ----$
d---- 12/31/2014 1:12 PM .git$
d---- 12/30/2014 4:41 PM .vim$
-a--- 4/4/2014 4:46 PM 6304 .bashrc$
-a--- 12/28/2014 11:01 AM 1328 .bash_profile$
-a--- 12/28/2014 11:01 AM 10 .digrc$
-a--- 12/28/2014 11:01 AM 1548 .inputrc$
-a--- 12/28/2014 11:01 AM 1689 .pentadactylrc$
-a--- 12/31/2014 10:47 AM 11687 .sig-library.txt$
-a--- 12/31/2014 11:20 AM 2150 README.md$
$
13:13:50|OBERON|319|# git submodule add git://github.com/godlygeek/tabular .vim/bundle/tabular$
The following path is ignored by one of your .gitignore files:$
.vim/bundle/tabular$
Use -f if you really want to add it.$
13:15:11|OBERON|320|# git submodule add -f git://github.com/godlygeek/tabular .vim/bundle/tabular$
Adding existing repo at '.vim/bundle/tabular' to the index$
fatal: Not a git repository: .vim/bundle/tabular/../.git/modules/.vim/bundle/tabular$
Failed to add submodule '.vim/bundle/tabular'$
13:15:30|OBERON|321|# gci .vim/bundle$
Directory: C:\Users\arley.dealey\.dotfiles\.vim\bundle$
$
Mode LastWriteTime Length Name$
---- ------------- ------ ----$
d---- 12/29/2014 9:31 PM airline$
d---- 12/29/2014 9:31 PM colorscheme-switcher$
d---- 12/29/2014 9:31 PM cs-solarized$
d---- 12/29/2014 9:32 PM fugitive$
d---- 12/29/2014 9:32 PM indentLine$
d---- 12/29/2014 9:33 PM pathogen$
d---- 12/29/2014 9:33 PM surround$
d---- 12/31/2014 1:12 PM tabular$
d---- 12/29/2014 9:33 PM vim-misc$
---<TRANSCRIPT>---
(注3:即使子模块添加失败,也会创建表格文件夹DID)
所以现在我有点糊涂,不知道下一步该做什么。
帮助?
[编辑] 嗯......我可能已经比我想象的还要糟糕。尝试一个简单的&#34; git add。&#34;从本地存储库的根文件夹现在得到这个:
16:59:06|OBERON|355|# git add .
fatal: Not a git repository: .vim/bundle/tabular/../.git/modules/.vim/bundle/tabular
查看错误消息中的路径... WTF?
[编辑] 如果有人试图跟进并稍微迷失,这里有一棵树 .dotfiles文件夹heirarchy的前三个级别的图表:
17:35:50|OBERON|387|# tree ~\.dotfiles
.vim
├── README.md
├── autoload
│ └── pathogen.vim
├── bundle
│ ├── airline
│ ├── colorscheme-switcher
│ ├── cs-solarized
│ ├── fugitive
│ ├── indentLine
│ ├── pathogen
│ ├── surround
│ ├── tabular
│ └── vim-misc
├── colors
├── compiler
├── doc
├── ftdetect
├── ftplugin
├── indent
├── keymap
├── plugin
└── syntax
PowerShell
├── Microsoft.PowerShell_profile.ps1
├── PeterProvost_profile.ps1
├── nad-profile.ps1
└── profile.ps1
.bashrc
.bash_profile
.digrc
.inputrc
.pentadactylrc
.sig-library.txt
README.md
答案 0 :(得分:1)
我先试试:
dotfile
repo 检查.vim/bundle/tabular
当前是否被忽略
git check-ignore -v -- .vim/bundle/tabular
(如果忽略,修改,添加并提交相应的.gitignore
)
添加子模块
git submodule add https://github.com/godlygeek/tabular .vim/bundle/tabular