13,005
回編集
編集の要約なし |
|||
92行目: | 92行目: | ||
== mergeを使用して統合する == | == mergeを使用して統合する == | ||
下図のように、topicブランチで開発する間において、masterブランチのコミットが先に進んでいるとする。<br> | |||
この時、materブランチにtopicブランチをmergeすると、コンフリクト (競合、衝突) が発生する。<br> | |||
[[ファイル:Git Merge Rebase 1.png|フレームなし|中央]] | |||
<br> | <br> | ||
しかし、masterブランチ上でコンフリクトを解決するのは好ましくない。<br> | |||
これは、解決の結果が正常に動作するかどうか実証する必要があるからである。<br> | |||
<br> | <br> | ||
そこで、まず、コンフリクトの解決の実証をローカルのtopicブランチで行うため、masterブランチ側の変更をtopicブランチにmergeする。<br> | |||
topicブランチに取り込むことにより、コンフリクトを解決する。<br> | |||
<br> | <br> | ||
次に、masterブランチをチェックアウトして、topicブランチの変更をmasterブランチにmergeする。<br> | |||
この時、--no-ffオプションを付加しない限りは、fast forward mergeとなる。<br> | |||
<br> | |||
これにより、topicブランチのコミットと完全に同一のコミット (sha-1が同じ) が、masterブランチのコミットとして記録される。<br> | |||
<br> | |||
チーム開発の場合、masterブランチへの最終マージにおいては、masterブランチの管理者に対してプルリクエストを送信して実施してもらう場合もある。<br> | |||
<br><br> | <br><br> | ||