2016-10-22 17 views
0

マージの競合があり、競合を認識していますが、それを修正する方法については混乱します。マージの競合Gemfile.lock

<<<<<<< HEAD 
    orm_adapter (0.5.0) 
======= 
    arser (2.3.1.4) 
    ast (~> 2.2) 
>>>>>>> master 

<<<<<<< HEAD 
warden (1.2.6) 
    rack (>= 1.0) 
======= 
unicode-display_width (1.1.1) 
>>>>>>> master 

gemファイルに競合宝箱を追加するだけですか?

+0

@AndreyDeinekoこれは新しいプロジェクトでない限り、ひどい提案です。またはOPは、Gemfileで宝石のバージョンを指定することに非常に注意しました。 –

+0

良い例として、Gemfile.lockをgitに追加することはお勧めしません。なぜなら、バンドルインストールが実行されるたびに作成されるからです。 – uday

+0

@uDaYこれは間違いなくベストプラクティスです。これは、開発マシンにインストールされている異なる一連のgemバージョンを持つ各開発者につながります。さらに、開発しているものとは異なる宝石のバージョンをインストールしているサーバーにつながります。 –

答えて

1

あなたはGemfile.lockを削除したくありません。何をすべきかは、ロックファイルをリセットしてから再度バンドルすることです。

ロックファイルとバンドルを削除すると、アプリ内の多くの宝石をアップグレードする可能性が高くなります。 pessimistic versioningの良い仕事をしたとしても、あなたはマージの競合のせいでやりたくないパッチバージョンをアップグレードします。

また、gitにロックファイルを追加しないという考えでは、はしません。。そうすることで、各開発者は開発マシンにインストールされている異なる一連のgemバージョンを持つことになります。さらに、開発しているものとは異なる宝石のバージョンをインストールしているサーバーにつながります。

これはすべて、Gemfileに変更が加えられる前にロックファイルをその状態にリセットすることです。バンドルを実行すると、Gemfileに追加された宝石が(ロックファイルに)追加されます。ただし、ロックファイル内の他の宝石は変更されません。ロックファイルを削除すると、Gemfileに基づいて完全に新しいロックファイルが生成されます。最新のgemバージョンが許可されます(Gemfileにバージョニングされていない場合は最新)。

+0

だからコマンドを実行すると、他のチームが間違ったGemfile.lockに関する問題を抱えていることを心配する必要はありません。 – codda

+0

正しい。答えにも説明を加えました。 –

関連する問題