以下の内容はhttps://memememomo.hatenablog.com/entry/2012/06/27/162936より取得しました。


リモートリポジトリのコミットを取り消す

概要

リモートリポジトリにあるmasterブランチのコミットを取り消す場合を考えます。
手順としては以下のような感じになります。

  1. リモートリポジトリからmasterをpullしておく
  2. リモートリポジトリにバックアップとしてmaster_bakブランチを作成する(オプション)
  3. ローカルにあるmasterブランチに対してコミットを取り消す作業をする
  4. リモートリポジトリにあるmasterブランチを削除する
  5. ローカルにあるmasterブランチをリモートリポジトリにpushする
  6. 問題なければmaster_bakブランチを削除する(オプション)

リモートリポジトリからmasterをpullしておく

普通にpullしてきます。

$ git pull origin master

pullしてきたmasterに対して、この後コミット取り消し作業を行います。

リモートリポジトリにバックアップとしてmaster_bakブランチを作成する(オプション)

念のため、バックアップを残しておきたい場合は、以下のようにしてmaster_bakを作成します。

$ git push origin master:master_bak

ローカルにあるmasterブランチに対してコミットを取り消す作業をする

git logとかを見て、戻したいところまでのハッシュ値やタグなどを調べます。
そして、git resetで巻き戻します。

$ git reset {ハッシュ値やタグ}

リモートリポジトリにあるmasterブランチを削除する

以下のコマンドで、リモートリポジトリにあるmasterブランチを削除します。

$ git push origin :master

gitのバージョンによっては、デフォルトでこの処理は拒否されます。
そうした場合は、リモートリポジトリにあるconfigファイルに以下のような設定を追加します。

[receive]
denyDeleteCurrent = 0

ローカルにあるmasterブランチをリモートリポジトリにpushする

以下のようにして、リモートリポジトリに新しいmasterを作成します。

$ git push origin master

問題なければmaster_bakブランチを削除する(オプション)

以下のようにして、master_bakブランチを削除します。

$ git push origin :master_bak



以上の内容はhttps://memememomo.hatenablog.com/entry/2012/06/27/162936より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14