はじめに
プルリクエストをした際に、「1 commit behind "master"」が発生しているという指摘をいただいたため、その対応の記録です。状況
恥ずかしながら、指摘を受けた段階では、何が起きているのか理解できていませんでした。そこでブランチを見に行ったところ、以下の画像のような状況でした。
赤線がmasterブランチ、緑線が開発ブランチです。
赤丸のところで、開発ブランチ(develop1)をmasterブランチにマージし、その後、別の開発ブランチ(develop2)を切って、次の作業を開始し、緑丸の上から3つ目のところで、プルリクエストをして、「1 commit behind "master"」が発生しました。
原因
今となっては、何をしてしまったのか、よくわからないというのが正直なところではありますが、develop1ブランチをmasterブランチにマージするときか、develop2ブランチを切るときに何かやらかしたのだと思います。 ※レビュー待ちの時間に、次にやることをあれこれとコードを触りながら考えていたので、それが失敗の元だったと思います。皆さんは、お気をつけください。対応
まずは、ローカルリポジトリのmasterブランチにリモートリポジトリのmasterブランチを反映させます。git checkout master
git pull origin master
次に、現在の開発ブランチ(develop2)にmasterブランチをマージします。
git checkout develop2
git merge master
コンフリクトが発生していれば、ここで解消する必要があるかと思いますが、私の場合は、コードを修正していたわけではないので、コンフリクトは発生していませんでした。
あとは、いつもどおり、commit、pushで完了です。
git commit -m "behindの解消"
git push origin develop2
これにより、上記画像のとおり、赤線(master)と緑線(develop2)が合流しました。