git は競合をどのように処理しますか?
淡淡烟草味
淡淡烟草味 2017-05-02 09:33:30
0
10
800

git の学習を始めたばかりなので、質問があります。
リトル A とリトル B は両方とも、リモート git から最新バージョンのクローンを作成しました。
二人ともローカルでコードを変更しました。
Little A が最初にコードを送信しました。
Little B がコードを再度送信するとどうなりますか?
Little A が提出したコードは上書きされますか、それとも提出できなくなりますか?

淡淡烟草味
淡淡烟草味

全員に返信(10)
伊谢尔伦

最初に質問に答えてください:

リトル A が最初にコードを送信し、リモート ライブラリとリトル A のローカル ライブラリが同期されます (0 -> a)。この時点で、リトル B のローカル ライブラリのバージョンは 0 -> b です。リモート ライブラリがローカル ライブラリより新しい場合、git はプッシュを拒否し、エラーを報告します。

Git は git pull にローカル ライブラリの更新を要求します。プル操作は自動フェッチおよびマージ操作と同等であり、リモート ライブラリをローカル ライブラリに自動的にマージしようとし、競合がある場合は手動でマージする必要があります。 。

いいねを押す +0
漂亮男人

は、Little B に最初にコードをプルするように要求します。Little B によって変更されたコードの行が Little A のコード行と同じである場合、ファイルのその行に対して競合が発生するように要求されます。変更が異なる場合、Git は関連するコード

を自動的にマージします。
いいねを押す +0
PHPzhong

異なる場所を変更した場合は、同じ場所を変更した場合は、直接マージできます。git は、選択できるように 2 つのバージョンのコードをファイルに自動的に挿入します。

いいねを押す +0
迷茫

リトル B は、まずリトル A のコードをプルバックし、それをマージして、再度送信します。

いいねを押す +0
phpcn_u1582

各開発が完了したら、まずコミットを追加してからリモートコードをプルし、競合がある場合はできるだけ早く解決してからプッシュします

もちろん、ブランチは考慮していないことを話しています。
いいねを押す +0
淡淡烟草味

これは良いことだと思いますが、コードを送信するたびに、最初にプルしてからプッシュする必要があるという習慣があります。これにより、競合の解決に関しては、これはコードの問題です。エラーが報告され、ファイルは赤色で表示されます。分割線があり、上が他人のコード、下が自分のコードです。必要に応じて選択してください。

いいねを押す +0
小葫芦

タイトルを見て酔ってしまいました。競合なので手動で解決する必要があります。

ツールはコードをマージする方法を決定できないため、競合が発生します。 Git が独自に競合を解決できれば、人がコードを書く必要はなくなります。

いいねを押す +0
習慣沉默

コードを送信するとき、Xiao B はまず git pull してコードを更新する必要があります。コードに競合がある場合は、次のようなエラーが表示されます。

リーリー

現時点では、git ではまず競合を手動で変更し、プロンプトが表示されたファイルを見つける必要があります。変更が必要なコードの部分を区切るために、競合する部分に「""」が表示されます。変更する内容は選択方法によって異なります。

いいねを押す +0
大家讲道理

Git は競合を単独で解決することはなく、2 つのパッチが同じコンテンツを変更していることを検出した場合のみ、積極的に <<<<>> を使用します。 ;> >>>> 競合を表示し、後で解決します。

いいねを押す +0
我想大声告诉你

コードの変更が小さい場合は、コピーして貼り付けることができます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート