コンフリクト修正について
概要
- プルリク送ったときにconflict起きてるとgithub上で教えてくれる。
手順(mergeで解消する方法)
- git co main
git pull origin main で、mainブランチを最新にする。
git co [PRしてるbranch名]
- git merge main で、最新の内容を取り込もうとすると...
コンフリクトしてるぜっていう文言が出る。
次はエディタ開いて、コンフリクトしてるファイルをうまいこと修正する。
修正終わったら、修正したファイルをステージングし、コミット、プッシュ。
うまくいけばプルリクのconflict表示がなくなってる。
rebeseで解消する方法
- git co main
git pull origin main で、mainブランチを最新にする。
git co [PRしてるbranch名]
- git rebase main これでコンフリクトが出るので修正していくそのコミットの修正が終わったら
- git add .
- git rebese --continue で次のコミットに進む rebeseでは、topic-branchのコミットを「一つずつ」順番にmainの最新の先端に付け加えていく処理が発生し、そのコミットでコンフリクトが生じるたびに修正を行わなくてはいけない。なので、コミットが多いと、かなり大変になることがある。 事前にrebase -iなどでコミットを整理しておくと緩和できる
-もし途中で中断したい場合はgit rebase --abort
全てのコンフリクトが解消されたら - git push origin [PRしてるbranch名] --force-with-lease