リモートブランチの状態を巻き戻す
手順としては
- リモートブランチと同じ状態にする
- 巻き戻すリモートブランチのバックアップ用のブランチを作成
- ローカルブランチを巻き戻したいところまで戻す
- 巻き戻すリモートブランチを削除
- ローカルブランチをリモートにプッシュ(ブランチを作成)
- バックアップ用のブランチを削除
今回はmaster
ブランチを巻き戻したいとする。
リモートブランチと同じ状態にする
$ git pull origin master
リモートブランチのバックアップ作成
$ git push origin master:master_bak
ローカルブランチを巻き戻したいところまで戻す
2つ前に戻したいとする。
$ git reset HEAD~2
巻き戻す対象のリモードブランチを削除
$ git push origin :master
ここで、次のようなエラーが出た場合、そのリモートブランチがGitHubなどでデフォルトのブランチに設定されている可能性がある。GitHubでデフォルトをバックアップ用ブランチにして、再度コマンドを実行する。
ローカルブランチをリモートにプッシュ(ブランチを作成)
$ git push origin master
バックアップ用のブランチを削除
$ git push origin :master_bak
以上