はじめに
masterブランチ(本番環境)、developブランチ(開発環境)というブランチ構成で、
develop環境で開発をしているものの、本番検証のために一時的にmasterブランチの状態にして、
修正・確認をしたいという場面があったため、備忘として手順を残しておきます。
手順
以下はmasterブランチをdevelopブランチに反映するという手順で整理をしていますが、
上記のブランチ構成でなくても、可能なため適宜読み替えをお願いします。
なお、下記手順だとコミットログもそのままの状態で元に戻すことが可能です。
developブランチから子ブランチを切って作業している場合、
以下の⑤の手順を行うと、子ブランチとコミット履歴がずれてしまい、エラーが発生します。並行で作業している場合については、影響がないことを必ず確認するようにしてください。
① developブランチに移動する
git checkout develop
② リモートの状態をローカルに反映
git fetch origin
③ developブランチのバックアップを取得する
git branch [バックアップ用のブランチ名]
④ バックアップ用のブランチをプッシュする
git push origin [バックアップ用のブランチ名]
⑤ローカルのdevelopブランチをリモートのmaterブランチの状態に上書き
git reset --hard origin/master
⑥リモートのmasterブランチの状態でリモートのdevelopブランチを強制上書き
git push -f origin develop
================ 検証・修正を行う ===================
【戻しを行う場合】
⑦ developブランチに移動する
git checkout develop
⑧ローカルのdevelopブランチをリモートのバックアップ用ブランチの状態に上書き
git reset --hard origin/[バックアップ用のブランチ名]
⑨バックアップ用ブランチの状態でリモートのdevelopブランチを強制上書き
git push -f origin develop