git の学習を始めたばかりなので、質問があります。 リトル A とリトル B は両方とも、リモート git から最新バージョンのクローンを作成しました。 二人ともローカルでコードを変更しました。 Little A が最初にコードを送信しました。 Little B がコードを再度送信するとどうなりますか? Little A が提出したコードは上書きされますか、それとも提出できなくなりますか?
リトル A が最初にコードを送信し、リモート ライブラリとリトル A のローカル ライブラリが同期されます (0 -> a)。この時点で、リトル B のローカル ライブラリのバージョンは 0 -> b です。リモート ライブラリがローカル ライブラリより新しい場合、git はプッシュを拒否し、エラーを報告します。
最初に質問に答えてください:
リトル A が最初にコードを送信し、リモート ライブラリとリトル A のローカル ライブラリが同期されます (0 -> a)。この時点で、リトル B のローカル ライブラリのバージョンは 0 -> b です。リモート ライブラリがローカル ライブラリより新しい場合、git はプッシュを拒否し、エラーを報告します。
Git は git pull にローカル ライブラリの更新を要求します。プル操作は自動フェッチおよびマージ操作と同等であり、リモート ライブラリをローカル ライブラリに自動的にマージしようとし、競合がある場合は手動でマージする必要があります。 。は、Little B に最初にコードをプルするように要求します。Little B によって変更されたコードの行が Little A のコード行と同じである場合、ファイルのその行に対して競合が発生するように要求されます。変更が異なる場合、Git は関連するコード
を自動的にマージします。異なる場所を変更した場合は、同じ場所を変更した場合は、直接マージできます。git は、選択できるように 2 つのバージョンのコードをファイルに自動的に挿入します。
リトル B は、まずリトル A のコードをプルバックし、それをマージして、再度送信します。
各開発が完了したら、まずコミットを追加してからリモートコードをプルし、競合がある場合はできるだけ早く解決してからプッシュします
もちろん、ブランチは考慮していないことを話しています。これは良いことだと思いますが、コードを送信するたびに、最初にプルしてからプッシュする必要があるという習慣があります。これにより、競合の解決に関しては、これはコードの問題です。エラーが報告され、ファイルは赤色で表示されます。分割線があり、上が他人のコード、下が自分のコードです。必要に応じて選択してください。
タイトルを見て酔ってしまいました。競合なので手動で解決する必要があります。
ツールはコードをマージする方法を決定できないため、競合が発生します。 Git が独自に競合を解決できれば、人がコードを書く必要はなくなります。
コードを送信するとき、Xiao B はまず git pull してコードを更新する必要があります。コードに競合がある場合は、次のようなエラーが表示されます。
リーリー現時点では、git ではまず競合を手動で変更し、プロンプトが表示されたファイルを見つける必要があります。変更が必要なコードの部分を区切るために、競合する部分に「""」が表示されます。変更する内容は選択方法によって異なります。
Git は競合を単独で解決することはなく、2 つのパッチが同じコンテンツを変更していることを検出した場合のみ、積極的に <<<<>> を使用します。 ;> >>>> 競合を表示し、後で解決します。
コードの変更が小さい場合は、コピーして貼り付けることができます。