2016-03-31 20 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のマージを手動で解決することはできません。これは、rails consolerails serverまたは同等のアプリケーションサーバを使用しているときにRailsがバックグラウンドで使用しているSQLiteデータベースのバイナリ形式です。

一般的なアプローチは、これらの.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などでファイルを消去することはできますが、上記の手順を踏むまで問題は繰り返されます。

関連する問題