Git игнорирует мой .gitignore в проекте Rails - PullRequest
5 голосов
/ 04 марта 2012

У меня возникли некоторые проблемы с развертыванием из-за папки tmp/cache/assets Rails и git, не игнорирующих tmp/* или tmp/.Весь мой .gitignore:

*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
**.orig
rerun.txt
pickle-email-*.html

Это взято из GitHub gitignore repo .Что я могу сделать, чтобы это исправить?Я получаю массу ошибок из-за локальных изменений (в папке tmp/) на моем сервере, таких как error: Your local changes to 'tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705' would be overwritten by merge. Aborting., поэтому я не могу развернуть на своем компьютере разработчика: (

Ответы [ 3 ]

9 голосов
/ 04 марта 2012

Вы добавили .gitignore после запуска проекта? Если tmp/cache/assets/whatever уже существовал до того, как вы добавили .gitignore, он все равно будет в репо.

  1. Попробуйте git rm -r tmp && git commit удалить весь каталог tmp из репозитория.

  2. Попробуйте выполнить развертывание на этом этапе, чтобы проверить, работает ли развертывание из заведомо исправного состояния. Если это все еще не работает, вы знаете, что есть другая проблема.

  3. Если все работает, новые изменения в tmp больше не должны приниматься.

Так же, как указывает @thenetimp, ваш текущий .gitignore будет игнорировать только /tmp, но не something/tmp. Я не уверен, если это ваше намерение или нет.

4 голосов
/ 04 марта 2012

удалить косую черту перед /tmp/ должно быть tmp/

1 голос
/ 15 мая 2012

Взгляните на образец файла .gitignore по адресу: https://github.com/github/gitignore/blob/master/Rails.gitignore

Я также нашел хорошую статью на http://www.wrel.de/gitignore-und-was-kommt-rein/ (немецкий)

...