1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Git】リモートブランチを特定のブランチの状態で上書きする方法

Posted at

はじめに

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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?