プロジェクトで遭遇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のリモートにプッシュ。
プッシュした後、リモート、あなたは他の人のすべての更新プログラムを取得します。プッシュする前に、ローカルのみ、あなたは他の人のすべての更新プログラムを取得します。
==========
概要は、ほとんどの場合、メソッドは、ファイルの変更の競合を管理するために枝を使用し、第五推奨されています。