Git последовательно удаляет 2 каталога из моего репозитория, как я могу их устранить?

Я не ожидаю, что кто-то решит мою проблему, но я не совсем уверен, как устранить эту проблему. Если я выполняю статус git, я получаю:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    app/controllers/application.rb
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#       modified:   app/views/main/index.html.erb
#       modified:   public/stylesheets/bandop.css
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       vendor/plugins/contacts/.gitignore
#       vendor/plugins/contacts/.gitmodules

но если я сделаю "git добавить". а затем "git status", я получаю:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    app/controllers/application.rb
#       modified:   app/views/main/index.html.erb
#       modified:   public/stylesheets/bandop.css
#       new file:   vendor/plugins/blackbook
#       deleted:    vendor/plugins/blackbook/CHANGES.markdown
#       deleted:    vendor/plugins/blackbook/Manifest.txt
#       deleted:    vendor/plugins/blackbook/README.markdown
#       deleted:    vendor/plugins/blackbook/Rakefile
#       deleted:    vendor/plugins/blackbook/blackbook.gemspec
#       deleted:    vendor/plugins/blackbook/debug_blackbook.rb
#       deleted:    vendor/plugins/blackbook/init.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/exporter/base.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/exporter/vcf.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/exporter/xml.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/aol.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/base.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/csv.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/freenet.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/gmail.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/gmx.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/hotmail.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/page_scraper.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/web.de.rb
#       deleted:    vendor/plugins/blackbook/lib/blackbook/importer/yahoo.rb
#       deleted:    vendor/plugins/blackbook/test/fixtures/aol_new_contacts.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail.csv
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_bad_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_contacts.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_login_response_stage_1.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_login_response_stage_2a.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_login_response_stage_3.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/gmail_redirect_body.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_bad_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_contacts.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_login_response_stage_1.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_login_response_stage_3.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_scrape_first_page.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_scrape_response_stage_1.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_scrape_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/hotmail_scrape_response_stage_3.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_bad_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_contacts.csv
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_contacts_not_logged_in.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_contacts_stage_1.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_login_response_stage_1.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_login_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/fixtures/yahoo_no_user_response_stage_2.html
#       deleted:    vendor/plugins/blackbook/test/freenet_importer_test.rb
#       deleted:    vendor/plugins/blackbook/test/gmx_importer_test.rb
#       deleted:    vendor/plugins/blackbook/test/scripts/live_test.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_exporter_base.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_exporter_vcf.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_exporter_xml.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_aol.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_base.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_csv.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_gmail.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_hotmail.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_page_scraper.rb
#       deleted:    vendor/plugins/blackbook/test/test_blackbook_importer_yahoo.rb
#       deleted:    vendor/plugins/blackbook/test/test_helper.rb
#       deleted:    vendor/plugins/blackbook/test/web.de_importer_test.rb
#       deleted:    vendor/plugins/blackbook/vendor/plugins/blackbook/lib/autotest/blackbook.rb
#       deleted:    vendor/plugins/blackbook/vendor/plugins/blackbook/lib/autotest/discover.rb
#       new file:   vendor/plugins/contacts
#       deleted:    vendor/plugins/contacts/MIT-LICENSE
#       deleted:    vendor/plugins/contacts/README.rdoc
#       deleted:    vendor/plugins/contacts/Rakefile
#       deleted:    vendor/plugins/contacts/lib/config/contacts.yml
#       deleted:    vendor/plugins/contacts/lib/contacts.rb
#       deleted:    vendor/plugins/contacts/lib/contacts/flickr.rb
#       deleted:    vendor/plugins/contacts/lib/contacts/google.rb
#       deleted:    vendor/plugins/contacts/lib/contacts/version.rb
#       deleted:    vendor/plugins/contacts/lib/contacts/windows_live.rb
#       deleted:    vendor/plugins/contacts/lib/contacts/yahoo.rb
#       deleted:    vendor/plugins/contacts/spec/contact_spec.rb
#       deleted:    vendor/plugins/contacts/spec/feeds/contacts.yml
#       deleted:    vendor/plugins/contacts/spec/feeds/flickr/auth.getFrob.xml
#       deleted:    vendor/plugins/contacts/spec/feeds/flickr/auth.getToken.xml
#       deleted:    vendor/plugins/contacts/spec/feeds/google-many.xml
#       deleted:    vendor/plugins/contacts/spec/feeds/google-single.xml
#       deleted:    vendor/plugins/contacts/spec/feeds/wl_contacts.xml
#       deleted:    vendor/plugins/contacts/spec/feeds/yh_contacts.txt
#       deleted:    vendor/plugins/contacts/spec/feeds/yh_credential.xml
#       deleted:    vendor/plugins/contacts/spec/flickr/auth_spec.rb
#       deleted:    vendor/plugins/contacts/spec/gmail/auth_spec.rb
#       deleted:    vendor/plugins/contacts/spec/gmail/fetching_spec.rb
#       deleted:    vendor/plugins/contacts/spec/rcov.opts
#       deleted:    vendor/plugins/contacts/spec/spec.opts
#       deleted:    vendor/plugins/contacts/spec/spec_helper.rb
#       deleted:    vendor/plugins/contacts/spec/windows_live/windows_live_spec.rb
#       deleted:    vendor/plugins/contacts/spec/yahoo/yahoo_spec.rb
#       deleted:    vendor/plugins/contacts/vendor/windowslivelogin.rb

Проблема в том, что я никогда не удалял ни один из этих файлов, git просто думал, что я это сделал. Мое обходное решение - сделать "git добавлять поставщиков/плагинов/контактов/" и "git добавлять поставщиков/плагинов/черную книгу /" каждый раз, прежде чем я совершу, но это ужасно. Может ли кто-нибудь указать направление на это?

UPDATE:

Благодаря комментариям, я выяснил большую часть проблемы. Я никогда не рассматривал свои плагины как подмодули, хотя они были контролируемыми источниками.

До сих пор я удалил SCM из плагина blackbook (мне это действительно не нужно или не нужно). И я полностью удалил контакты и сделал:

git submodule add repo_address local_address
git submodule init
git submodule update
git add vendor/plugins/contacts
git add .
git commit -m "submodule should be committing now"

но теперь проблема в том, что, хотя код плагина контактов существует в моем локальном репо. я не могу заставить его совершить мой удаленный репо. даже после "git добавить". или более явно "git добавить поставщика/плагинов/контактов"... любые идеи здесь?

Спасибо!

Ответ 1

Weird. У вас есть запись в которой сообщается об этой же проблеме. С подмодулями, как упоминалось в Дэйв отвечает.

Это было исправлено, удалив элемент управления версиями в каталоге "restful_authentication":

.~/projects/bushi2do master $ rm -rf vendor/plugins/restful_authentication/.git
.~/projects/bushi2do master $ git add .
.~/projects/bushi2do master $ git status
# On branch master
nothing to commit (working directory clean)

Недостатком этого исправления является то, что вы больше не можете "git вытащить каталог плагинов, чтобы получить обновления.


Как насчет

git rm --cached vendor/plugins/contacts
git rm --cached vendor/plugins/blackbook

?

И как вы объявили свои подмодули внутри вашего каталога плагинов?

Потому что я помню классический улов с подмодулями.
Если вы используете подмодули git, не делайте git add foo/ (следите за этим завершающим слэшем!), Если foo - ваш подмодуль. Это становится беспорядочным.

От здесь:

Когда вы используете git add на подмодуле, убедитесь, что у вас нет хвостовой черты.

> git add local/path
  -- adds the submodule

> git add local/path/
  -- adds all the files in the submodule directly into your repository, big no-no

Ответ 2

Не могу точно сказать вам, но я хотел бы узнать, связана ли проблема с наличием плагинов "blackbook" и "contacts", указанных в качестве подмодулей git.