[Git]Masterブランチに誤ってcommitしてpushした場合の対応

投稿者: | 2017/10/25

Git力が低い僕です。
ブランチ切ってPushしたつもりが、MasterブランチにコミットしてPushしてしまった場合の対処方法をメモとして残しておきます。
Git力低い(2回目)ので、もっと効率の良いやり方があるかと思いますが、コメントなどで指摘していただけると嬉しいです。

3つコミットしてすでにGitHubにPushしてしまったとします。

3つ前の状態に戻す

git reset --hard でHEAD、インデックス、ワーキングツリーすべてを戻します。

ブランチの作成

すでにある場合は git checkout でブランチを切替えます。
ブランチ名を fix_hoge とします。

Cherry-pickでコミットを移す

下のコミットから順に移していきます。

リモートリポジトリのMasterブランチを元に戻す

push --force すれば、リモートリポジトリ側に強制的に反映されます。
他の人が作業している場合は、予め push --force することを伝えておいてあげましょう。

参考

git reset がよく分かっていなかったので参考にさせていただきました。

カテゴリー: Git タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください