Pull Requestで競合した時のマージのやり方
GitHubを使ってる時にPullRequestを送って競合することがあった。
その時、どんなふうに対応すればいいかを備忘録で残しておく。
競合を起こすファイルを作る
まずは適当なサンプルファイルを作る。
2つのブランチを作成して、それぞれ違う修正を行う。
このmaster2ブランチをmasterの方にむけてプルリクエストを送る。
そうすれば、自動マージはできずにCan't automatically mergeの文言が出てくる。
プルリクエストから手動マージを行う
先ほどの状態でプルリクエストを送ると、以下のようにresolve conflictsが出てくる。
このボタンから手動マージする画面へと遷移できる。
差分が赤い線で、以下の2つに分けて表示される。
- <<<<<<<から=======まで
- =======から>>>>>>>まで
これを自分で修正して直せばOKだ。
無事マージが終わったら、Merge as resolvedでマージ済のチェックをつける。
そしてCommitすれば、マージが完了する。
マージが完了したら、プルリクエストができるようになるはず。
この状態になれば、従来通りリベースするなり、マージして入れるなりすればいい。