【備忘録】Merge Requestでのコンフリクト発生時の対応
tl;dr
MRのレビューが終わってfeature/abcブランチをmasterにmergeしようとした時にコンフリクトが発生した場合は以下の工程に沿って解消する。
git checkout feature/abc git fetch origin git merge master // 競合が発生するのでなんとか解決する ... // resolve conflict ... git add . // 競合を解決したファイルをステージ git commit // コミット git push origin feature/abc
pushし終えたら、再度レビューしてもらい、権限のある人にmergeしてもらう。
背景
なぜ今更こんな備忘録を残すかというと、つい先日、脳死して何故か以下のような方法でコンフリクトを解決しちゃったため。mergeの方向が真逆になっただけなので、ちゃんとコンフリクトを解決してあげれば、結果は上の方法と差異はない。更に無駄にブランチ生やしちゃってるが、ほんと無駄。
git fetch origin git checkout -b workspace origin/master git merge feature/abc // 競合が発生するのでなんとか解決する ... // resolve conflict ... git add . // 競合を解決したファイルをステージ git commit // コミット git checkout feature/abc git merge workspace // fast-forward git push origin feature/abc
その後
Merge直前に過去のコミットメッセージにいちゃもん付けられたので、rebase -i HEAD~39485789347592348579234785してeditしてcommit --amendした。おわり