1

我创建了一个git repo并将vim-plugins(由vundle安装)添加到其中,将这个repo推送到github,并将这个repo克隆到另一台服务器后,我发现vim-plugin的目录是空的,dirs和文件在vim-plugin 的目录全部丢失

如何生产它:

$ make a new test user in Linux, then ( su - test )
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle # install vundle
$ echo "
  set nocompatible
  filetype off
  set rtp+=~/.vim/bundle/vundle/
  call vundle#rc()
  Bundle 'gmarik/vundle'
  Bundle 'Lokaltog/vim-powerline'
  filetype plugin indent on
  " >> .vimrc
$ vim # run vim command `:BundleInstall`
$ mkdir vimgitrepo && cd vimgitrepo && git init
$ cp -a ~/.vim/bundle .
$ git status
  # On branch master
  # Untracked files:
  #   (use "git add <file>..." to include in what will be committed)
  #
  #       bundle/
  nothing added to commit but untracked files present (use "git add" to track)
$ git add .
$ git status
  # On branch master
  # Changes to be committed:
  #   (use "git reset HEAD <file>..." to unstage)
  #
  #       new file:   bundle/vim-powerline
  #       new file:   bundle/vundle
  #

如您所见,仅添加了 dir。

$ git commit -m'test'
$ git push -u origin master

如果你在另一个地方克隆这个 repo,只存在空目录。

这是github页面

4

3 回答 3

1

在将其推送到 GitHub 之前,您需要确保已添加这些文件并将其提交到本地存储库中。
参见例如“ GIT add vs push vs commit ”。

并确保您的目录(如.vim/bundle/vim-powerline)不为空(否则,它们不会被添加到索引中:只能对文件进行版本控制)

还要检查这些目录中的文件是否尚未被忽略(被.gitignore文件)。
如“在 git 中显示忽略的文件”中所述,执行以下操作:

git clean -ndX

列出不会添加的文件。

最后,不是将符号链接的目录添加file
这将解释:

  • 为什么你的 git status 提到了一个新文件,以及
  • 为什么该仓库的克隆显示一个空目录。

请参阅“ git 对符号链接的文件做了什么? ”:

git 只是将链接的内容(即它链接到的文件系统对象的路径)存储在一个“blob”中,就像它存储普通文件一样。
然后它将名称、模式和类型(包括它是符号链接的事实)存储在表示其包含目录的树对象中。

于 2013-05-02T05:51:09.927 回答
1

您是否使用 vundle 作为插件管理器?

我遇到了同样的问题,问题是 vundle,我不知道 Pathogen 是否也这样做,克隆 github 存储库并将 .git 文件包含到插件目录中,因此该目录的内容不包含在您的项目中。

我用这个序列解决了这个问题:

  1. '寻找 。-name .gitignore -exec rm -rf {} \;',删除所有 .git 目录。
  2. 'git init' 来初始化 repo(我在步骤 1 中删除了所有 .git 文件夹)。
  3. 混帐添加。(再次添加所有文件)。

我所有的插件目录都包括在内。

它是否解决了您的问题(我希望如此)?

于 2015-02-19T10:39:21.090 回答
0

您可以尝试使用此命令代替 git push。git push 起源大师

此外,如果您想在不同的机器上共享您的 vim 插件,您可以尝试另一个问题中提到的解决方案 如何在多个客户端之间共享一个 vimrc 文件?

于 2013-05-02T11:25:46.050 回答