現象
masterブランチにdevelop(staging)ブランチのマージプルリクエストを送ったとき、コンフリクトが発生。
原因
developおよびstagingブランチをmasterから派生後、何者かがmasterに直接変更を加えたファイルとコンフリクト。
前提条件
エディタはVSCodeを利用。
GithubとAzureReposと2つのリモートリポジトリで運用している。
origin がGitHub
azure がAzureRepos
とする。
コンフリクトを解消してmasterマージする流れ
1. GitHubのdevelopブランチをAzureReposのdevelopブランチにプッシュする
git checkout origin/develop
git pull origin develop
git push azure develop
2. developでの動作確認が完了したのでstagingブランチにプッシュする
git pull azure develop
git push azure staging
3. developブランチをmasterにマージしようとするとコンフリクトが発生する
#心の声(ふざけんなよ・・・)
4. マージを解消するため、masterブランチに切り替える
git checkout master
git pull azure master
5. マージしたいブランチの変更を取り込んでマージ
git checkout azure/staging
git merge azure/master
6. コンフリクトが発生するので解消する
# VSCodeの画面から現在の変更を取り込むか、どうか判断して対応する
7. コンフリクト解消後、解消したプッシュを行う
git push azure staging
8. 画面からプルリクエスト
# 心の声(GitHubに慣れているからAzureReposの画面使いづれえ)
以上。