Gitのマージファイルの競合エラー:次のファイルをローカルの変更がマージによって上書きされます

プロジェクトで遭遇gitのコード違反を使用したソリューションについての記録

質問:私と同じ二人で私の同僚は、私が提出する前に、彼が提出されたファイルを変更すると、この時間は、私が提出されず、また彼のコードをプルダウンしていません

私たちは文句を言うでしょう。

Your local changes to the following files would be overwritten by merge:

解決策1:復元してからプルするgitのチェックアウト(で、平均の更新をカバー)

対処方法2:最初の最後のプルは、ローカルで何の問題を自分のコードをマージしないと、最終的な検査をプッシュしますコミット、その後追加

-------------------------------------------------- -------------------------------------------------- --------------------

ここでは、共有への皆のための競合gitの記事を解決するために、より詳細な検索があります↓

 

競合ファイルがテストであると仮定すると/ TestCase.php 

  以下の点と5例を議論しました。 

1、ローカル変わりません。 
  そして、他のリモートアップデートがあります。 
  gitのプル 
  この単純な、競合、ローカルワークスペースを直接更新はありません 
  
、私の地元の変更、2が、追加しないで。 
そして、他のリモートアップデート、そしてあります     
gitのプルは、 
gitのはあなたを教えてくれます: 
エラー:ファイルでしょうに次の変更であなたの地元はMergeによって上書きされる: 
        テスト/ TestCase.php 
  この時点で、私  
   のgitのチェックアウト-テスト/ TestCase.php 
  あなたは注意する必要があり、コマンドは変更が失われた原因となります!! 
  そして、gitのプル。成功。 
  この場合は、あなた自身の変更が完全に失わ。ローカル、リモートの変更を受け入れます。 
  
3、私のローカルな変更が、すでに追加します。 
  その後、他のリモート・アップデート、 
  Gitのプル 
  この場合、上記とほぼ同様。 
  gitのリセットヘッド試験/ TestCase.php  
  コマンド上記逆コマンドaddコマンドとして理解することができます。つまり、操作をキャンセルして追加します。 
  
  その後、継続 
  gitのチェックアウトは-テスト/ TestCase.phpは 
  注意する必要があり、コマンドは変更が失われた原因となります!! 
  そして、gitのプル。成功。 
  この場合は、あなた自身の変更が完全に失わ。ローカル、リモートの変更を受け入れます。 

    
4、私の地元の変更は、追加してコミットし 
  た後、他のリモートアップデート、 
  gitのプル 
  注:この場合は第二、第三のケース異なるが。gitのはあなたにも非常に重要だと思いますコミット。同様に重要。 
突然自動的viのインターフェイスを入力しました。 
https://github.com/xxxxのマージブランチ「マスター」 
、これはどういう意味?それはgitのコミットを追加するためのイニシアチブを取るのに役立ちます。 
ノートは、あなたが何かを書いてみましょう、それはあなたがいくつかの単語を書く助けた 
のvi保存し、自身が何かを書くことにして終了 
してくださいこのコミットすることをノートでは、リモートに送信されない、ローカルです。 
これは自動的にコード、およびその他のリモートアップデートコードにあなたをコミットマージ、します 
。このコードは、問題のために、独自のチェックイン時になった後、そう。 

  問題がない場合は、今の 
  gitのプッシュ 
  コマンドをリモートローカルの変更にプッシュすることができます。 
  プッシュした後、リモート、あなたは他の人のすべての更新プログラムを取得します。プッシュする前に、ローカルのみ、あなたは他の人のすべての更新プログラムを取得します。 
  
5、分岐機能を使用して。 
  Gitのブランチ機能は非常に強力で、それはより多く使用する必要があります。 
  上記のいくつかの条件は、枝を使用していません。使用ブランチが良くなります。 
  まず、私は、自分自身のために意味のある名前を新しいローカルブランチとスイッチbranch_1を作成し、ファイルを変更します。 
  チェックアウト-b branch_1 gitの 
    
  VIテスト/ TestCase.phpの 
  gitのは、追加のテスト/ TestCase.phpは、 
  -mは、「変更とテスト」コミットgitの 
  
  今、他の誰かが非常に便利に更新されていない(リモート・マスター・支店コードを更新した、高速で、言うことはありません更新) 
  私は、masterブランチに分岐します。 
  私が最初にメインブランチ、および更新に戻ります。 
  チェックアウトマスターはgitの 
  gitのプル 
  
  私のブランチのマージを修正するために、ローカルで、その後。 
  gitのマージbranch_1は 
  自動的にコメントを書き込むことができますviのインターフェイスを入力します。 
  
  そして、より良いマージします。 
  同様のヒント: 
  テスト/ TestCase.php | 3 ++ - 
  上位2プラス記号は、文書が2つの行を追加していることを示し、マイナス記号は、ファイルが行に減少していることを示しています。 
  
  この場合には、viのインターフェイスを入力している人、そのノート 
  その後、より良い自分自身とは、手順を確認し、ファイルが促されていることのチェックが(良い習慣であるが、私は従うことはありません)、変更 
  適切とみなされる場合、最終的には、 
  プッシュをgitのリモートにプッシュ。 
  
  プッシュした後、リモート、あなたは他の人のすべての更新プログラムを取得します。プッシュする前に、ローカルのみ、あなたは他の人のすべての更新プログラムを取得します。 

========== 
概要は、ほとんどの場合、メソッドは、ファイルの変更の競合を管理するために枝を使用し、第五推奨されています。

転送:https://www.iteye.com/blog/xieye-2433229

おすすめ

転載: www.cnblogs.com/bobo1/p/12201156.html