CONFLICTS_DURING_MERGE_BASE_CALCULATION
などと表示されて、Mergeがうまくいかない場合、過去にお互いにMergeしていて、混乱している場合がある。そういう場合は、Rebaseで解決する。
Rebaseの使い方
masterとtopicの2つのブランチがあり、masterにtopicを統合したい場合は以下のようにする。
- topicにcheckoutする
- Rebaseを呼び出して、masterを指定する
- 自動的にmasterにcheckoutが実行されて、topicが後ろにMergeされていく
- 途中でConflictが発生したら、Merge Toolを選んで、競合箇所を解消する
- 解消が終わったファイルを右クリックして、Add Indexする
- Conflictを全て解決したら、プロジェクトを右クリック > Team > Rebase > Continue Rebase を選択して、Rebaseを継続
- Conflictが検出されず、先に進めなくなったら、プロジェクトを右クリック > Team > Rebase > Skip〜 を選択
- 全てのMergeが完了したら、Rebaseが終わる
Rebaseが終わったらmasterを更新する
- masterにcheckoutする
- mergeを選択して、topicを選ぶ
- Push to upstreamでGithubにプッシュ
topicの後始末
- masterと統合しているので、ローカルからは削除してもよいだろう
- pushする場合は、masterのpushが完了した後に、pullをして、競合を解決。全て終わったらpushする