LoginSignup
71

More than 1 year has passed since last update.

posted at

updated at

Organization

Railsで良くコンフリクトするファイルの対処方

Railsの開発初期段階は特に以下のファイルがコンフリクトを起こしたりしませんか?
自分の場合、ルーチンワークと化してるのでまとめました.
もっといい方法あればコメントください :thumbsup:

  • Gemfile
  • Gemfile.lock
  • db/schema.rb

Gemfile, Gemfile.lock

Gemのパッケージを増やした時とか以下を実行しています.

git mergetool Gemfile
git checkout --theirs Gemfile.lock
bundle install
git add Gemfile Gemfile.lock

--theirs オプションとは別に --ours もあります. 分かりやすく図解すると以下のように使い分けます.

git checkout --(ours|theirs)

間違えてbundle updateしないようにしましょう!
Gemfile.lockを無視してバージョンあげるので!

db/schema.rb

db/schema.rbはDBの状態をダンプしたものです.
これがズレているとアプリ内で正しく認識しない場合があります.

git checkout --theirs db/schema.rb
rake db:migrate
git add db/schema.rb

db/schema.rbをマージ/リベース元のファイルに戻して、
rake db:migrateでスキーマファイルを更新しています.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
71