LoginSignup
81
71

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-12-11

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でスキーマファイルを更新しています.

81
71
0

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
  3. You can use dark theme
What you can do with signing up
81
71