1. 現象の説明
今日、ウェアハウス内の自分のブランチ コードが実際にはウェアハウスよりも 100 件以上送信されていないことがわかりました。そのため、リモート マスターをローカルでマージし (git mergeorigin/master を実行)、マージされたリモート ブランチ コードを次の場所に送信します。その結果、競合が発生します。マージ ファイルには、次の図に示すように多くのプロンプトがあります。このとき、それは葛藤を表します。
2. 紛争の理由
Xiaoming はファイル A を変更してリモート ブランチにアップロードしましたが、Xiaohong もこの時点でファイル A をローカルで変更しました。変更後、最新の dev ブランチ コードがマージされてアップロードの準備ができたときに、この時点で git は競合エラーを報告しました。簡単に言えば、ローカルで変更されたファイルとリモート ウェアハウス内の同じファイルが変更されており、それらをマージしようとすると競合が発生します。ローカルで変更されたファイルとリモートで変更されたファイルが同じでない場合、競合エラーは報告されません。
3. 解決策
vscode のビジュアル ツールに従って、自分自身の変更を保存する (クリックして現在の変更を採用)、または他の人の変更を保存する (クリックして受信した変更を採用)、または両方を保存する (双方の変更を保持) を選択します。また、変更を比較し (クリックして変更を比較)、ギャップを確認し、選択方法を決定することもできます。
采用当前更改|采用传入的更改|保留双方更改|比较更改
<<<<<<< let a = 1;
..........(此处省略100行代码) (当前更改)
=======
>>>>>>> (传入的更改)
4. 注意事項
1. 自分のコードが同僚のコードと競合する場合、同僚のコードに関係なく自分のコードを保持しないでください。そうすると、おそらく叱られます。他人が苦労して書いたコードを削除すると、 、他の人に置き換えても構いません。怒っていません。したがって、迷ったときは、さまざまな変化の理由を同僚と話し合って、一緒に話し合って選択を決定する必要があります。
2. 毎日コードを書き始めるときに、ウェアハウスに行って最新のコードをプッシュする習慣をつけましょう。独自のコードの一部を作成した後、時間内にそれをリモート ウェアハウスに送信すると、競合を効果的に減らすことができます。(この方法では、最新のコードにプッシュしてからコードを作成し、作成後に時間内に送信することで、この期間中に同僚がこのファイル内のコードを同時に変更する可能性を減らし、競合を減らすことができます)