[Git]3ウェイマージ


3ウェイマージ


前回の文書で説明した高速Forwardマージは、順次ブランチによって作成されたブランチをマージするためのマージ方法です.操作は順番に行われるため、マージ中に注意すべき点はありません.
今日議論されている3-way 병합は、より複雑な場合の合併方法です.他の開発者と一緒に作業すると、タスクは私のブランチで完了し、他の開発者がブランチで完了します.この場合、分岐状況は残りの3種類を提出する:내가 작업하는 브랜치의 커밋다른 개발자가 작업하는 브랜치의 커밋두 브랜치의 공통 분기점이 되는 공통 커밋.したがって,この場合の合併は3つの分岐の統合であるため,3-way 커밋と呼ぶ.

3ウェイマージ練習


の前の記事に続いて、上記のファイル構造を持つディレクトリで練習します.新築して行っても大丈夫です.
では、実践を通じて3-way 병합について理解してみましょう.
まず、Meという名前のブランチを作成します.
git branch Me
その後、Meブランチに移動し、t1.txtファイルを修正し、コミットを完了します.以降のt2.txtファイルを修正して提出してください.現在の作業状況は次のとおりです.
今回はmaster支部に戻ってt1.txtを修正して提出してください.Meブランチで3行目が変更され、プライマリノードが3行目にぶつかるとマージ競合が発生します.マージ競合を個別に処理します.3行目ではなく、他の部分を変更してください.、そしてt3.txtも任意に修正して提出することができる.現在の進捗状況を図に示します.
では、ブランチをマージします.連結プロセスでは、共通の親コミット、Meブランチの最新コミット、およびプライマリブランチの最新コミットが使用されます. 3-way 병합は、マージの完了時にコミットを生成する.既存のマスターブランチに貼り付け、ブランチの最新のコミットがマスターブランチの最新のコミットFast-Forward 병합と異なるようにします.このメッセージを変更する場合は、Merge branch '브랜치명'コマンドの後にmergeオプションを追加します.
git merge 브랜치이름 --edit
次の画面では、黄色の部分のメッセージを変更できます.
そうしました--editbashでgraphを使用してこのプロシージャをチェックすると、次のような状況が発生します.