前提
チーム開発にて自分がプルリクエストした後にコンフリクトの修正を依頼された場合の修正方法についての忘備録。
具体的な状況としては、自分のプルリクエストした後に他の人のプルリクエストがマージされたことでコンフリクトが発生し、そのコンフリクトを解消する時の流れについての記述です。
修正の流れ
1.masterブランチに移動する
git checkout master
2.ローカルのmasterブランチに最新状態のリモートリポジトリの状態を取り込む
git pull origin master
3.自分の作業していたブランチに移動する
git checkout <作業していたブランチ名>
4.masterブランチをマージ
git merge master
するとコンフリクトが起きている旨を表すメッセージが表示される
例)
git merge master
Auto-merging static/app.css
CONFLICT (content): Merge conflict in static/app.css
Auto-merging src/routes/index.svelte
CONFLICT (content): Merge conflict in src/routes/index.svelte
Automatic merge failed; fix conflicts and then commit the result.
5.エラーで指摘されているファイルを開いてコンフリクトの修正を行う
<<<<<<< HEAD
自分の作業ブランチの内容
=======
最新状態にしたmasterブランチの内容
>>>>>> >master
コンフリクトしている内容に加えて>>>>>>> HEAD
、=======
、>>>>>>> master
なども消してpushする綺麗な形に直す。
この時にmasterブランチの内容をむやみに自分の環境に合わせないように気を付ける。
6.pushするまでと同じ流れを踏む。
git add .
=>git commit -m "コミットメッセージ"
=>git push origin HEAD<自分の作業ブランチ>
新しくpushしたブランチの内容がGitHubに挙がっているので確認する。