2016-03-31 5 views
0

Я столкнулся с конфликтом слияния в файле db/development.sqlite3.db/development.sqlite3 слить конфликт в Rails 4

warning: Cannot merge binary files: db/development.sqlite3 (HEAD vs. nest-questions) 
Auto-merging db/development.sqlite3 
CONFLICT (content): Merge conflict in db/development.sqlite3 

Обычно я открывал файл (в Cloud9 IDE), вручную редактировал конфликт и выполнял.

Но я ничего не могу прочитать в этом файле - это просто похоже на тарабарщину.

Приложение находится в разработке. Могу ли я просто стереть файл, затем запустить rake db:reset или вызвать проблемы? Я никогда раньше не модифицировал этот файл вручную.

Кто-нибудь разрешил конфликт в db/development.sqlite3 прежде чем и может посоветовать?

ответ

2

Вы можете решить слияние с db/development.sqlite3 вручную. Это двоичный формат базы данных SQLite, который Rails использует за кулисами, когда вы используете rails console, rails server или эквивалентный сервер приложений.

Типичный подход заключается в том, чтобы гарантировать, что эти файлы .sqlite3 игнорируются git (так как вы обычно не хотите сохранять свою базу данных в репозитории исходного кода).

Для решения:

git rm db/*.sqlite3 
git commit -m "Removing SQLite files from git" 
rm .gitignore 
wget https://raw.githubusercontent.com/github/gitignore/master/Rails.gitignore 
mv Rails.gitignore .gitignore 
git add .gitignore 
git commit -m "Ignoring files that Rails recommends" 

В SQLite файлов и многие другие будут проигнорированы этой техникой. Обратите внимание: если файлы, о которых идет речь, уже находятся в вашем репозитории, вам будет предложено работать с ними, как обычно. Вам нужно будет удалить их из репо с помощью git rm, прежде чем эти изменения вступят в силу.

может уничтожить файл с помощью db: reset и т. Д., Как вы упомянули выше, но проблема будет повторяться до тех пор, пока вы не предпримете вышеуказанные (или подобные) шаги.

Смежные вопросы