Я создал репозиторий git и добавил в него vim-plugins (который устанавливается vundle), после того, как я отправил это репо на github и клонировал это репо на другой сервер, я обнаружил, что каталог vim-plugin пуст, каталоги и файлы в все каталоги 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
  #

Как видите, добавляются только каталоги.

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

И если вы клонируете это репо в другом месте, будет существовать только пустой каталог.

Вот тестовая страница vimgitrepo на github

1
nfpyfzyf 7 Май 2013 в 06:26

1 ответ

Лучший ответ

Вы скопировали в свое репо все каталоги, которые являются другими репозиториями git и содержат в себе каталог .git/.

Итак, у вас есть два способа решить эту проблему:

  1. используйте команду git submodule, установите их как подмодули.
  2. удалите .git/ в этих каталогах перед вашей первой фиксацией.
4
Lieven Keersmaekers 7 Май 2013 в 11:23