2015年7月20日月曜日

ブランチをマージする

現状、masterとriverという2つのブランチがあります。
gitでは最初にできるmasterブランチが本流として扱われ、riverブランチは派生になります。
riverブランチの作業を本流に取り込みたい場合、riverブランチをmasterブランチに
マージ(結合)する必要があります。
今回はブランチのマージを行ってみましょう。




  • 変更を取り込みたい側(masterブランチ)にブランチを切り替え
    上部メニューの「マージ」を選択します
  • 取り込みたいブランチを選択しOKを押します。
  • すると、このような警告が出てきます。
    ひとまずはCloseを押して閉じましょう
  • riverブランチがマージされた。という変更が発生したためコミットを行うのですが
    警告アイコンが出てしまっています。
    これは、ファイルの変更が双方のブランチで競合(コンフリクト)している時に発生します。
    masterブランチとriverブランチで同じscenario.txtに変更を加えているため
    森編、川編どちらが正史になるかを解決しないといけません。
  • 今回は川編を正史としたいため、riverの変更を適用します。
    ワークツリーの競合マークがついているファイルを右クリックし
    競合を解決=>相手の変更内容で解決
    を選択します
    選択後、確認ウインドウがでるのでOKを選択してください
  • 無事、競合が解決されたため警告マークが消えました。
    このままコミットを行います
  • コミットメッセージは
    「riverブランチをマージしました。scenario.txtが競合(コンフリクト)していました。」
    という英語が自動で生成されているのでこのままコミットします。
  • これでmasterブランチにriverブランチの変更が取り込まれました。

このようにgitでは本流ブランチに対して、派生ブランチの変更を結合していくことができます。
なので、実験的なことをしたい時に派生のブランチを作れば
本流のデータは全く汚さずに作業を進めることができます。
そして、無事良い物が仕上がればマージし、失敗すれば保留
もしくはブランチごとなかったことにする。など柔軟な選択が取れます。

今回でローカル編は終了です。
ローカル編では個人でローカル作業を行うのみの想定でしたが
次は複数人でバージョン管理を行うgithub編に入ります。

次の項目へ
目次へ

0 件のコメント:

コメントを投稿