[解決済み】3ウェイマージの方が2ウェイマージより有利なのはなぜですか?
2022-04-09 08:05:24
質問
ウィキペディア によると、3 者間マージは 2 者間マージよりもエラーの可能性が低く、多くの場合、ユーザーの介入を必要としないとのことです。なぜこのようなことが起こるのでしょうか?
3 者間マージが成功し、2 者間マージが失敗する例があると助かります。
どのように解決するのですか?
あなたとあなたの友人の両方があるファイルをチェックアウトし、それにいくつかの変更を加えたとします。あなたは冒頭の1行を削除し、友人は末尾に1行を追加しました。そして彼は自分のファイルをコミットし、あなたは彼の変更を自分のコピーにマージする必要があります。
もし、双方向のマージ(言い換えれば、差分)を行うのであれば、ツールは2つのファイルを比較し、最初の行と最後の行が異なっていることを確認することができます。しかし、その差分をどう処理するかはどうやって判断するのでしょうか。マージされたバージョンには最初の行を含めるべきなのでしょうか?最終行を含めるべきなのでしょうか?
3 者間マージの場合、2 つのファイルを比較することができますが、それぞれのファイルを元のコピー(どちらかが変更する前のもの)と比較することも可能です。つまり、あなたが最初の行を削除し、あなたの友人が最後の行を追加したことがわかります。そして、その情報を使ってマージされたバージョンを作成することができます。
関連
-
[解決済み] DreamWeaver の _notes フォルダと dwsync.xml ファイルは、ソースコントロールによって安全に無視できますか?
-
[解決済み] 2 つの Git リポジトリをマージする方法は?
-
[解決済み] Git で特定のコミットをマージする方法
-
[解決済み] git merge` で `--no-ff` フラグはどのような効果がありますか?
-
[解決済み] JPA EntityManager。なぜmerge()ではなくpersist()を使うのか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み】Mercurial - 古いバージョンに戻してそこから継続する
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] git add . vs git commit -a
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hg forgetとhg removeの違いは何ですか?
-
[解決済み] git stash pop で stash エントリから未追跡のファイルを復元できなかったと表示されるのはなぜですか?
-
[解決済み] DreamWeaver の _notes フォルダと dwsync.xml ファイルは、ソースコントロールによって安全に無視できますか?
-
[解決済み] Mercurialで不正なコミットメッセージを編集するには?重複
-
[解決済み】ソースコントロールに変更をコミットする頻度を教えてください。[クローズド]
-
[解決済み】Mercurial - 古いバージョンに戻してそこから継続する
-
[解決済み] TFSソースコントロールで複数のファイルを移動する
-
[解決済み] Hudson / Jenkinsの設定ファイルをソース管理する方法はありますか?
-
[解決済み] IntelliJ IDEA 9/10、ソースコントロールにチェックインする(しない)フォルダは何ですか?
-
[解決済み] git add . vs git commit -a