量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

push済みコミットをリモートから消す方法

スポンサーリンク

最近AIに頼ってばっかりで毎回同じことを聞いてしまうことがあるのでメモしておく。

状況

不要なコミットをpushしてしまった。ローカルだけでなくリモートの履歴からも取り除きたい。

手順

1. ローカルで巻き戻す。

直前の1件を取り消す。

git reset --hard HEAD~1

直前の3件を取り消す。

git reset --hard HEAD~3
2. リモートを上書きする。
git push --force-with-lease origin <ブランチ名>
オプション 動作
--force ローカルの内容でリモートを必ず上書きする。
--force-with-lease リモートがローカルと一致している時だけpushする。他人が先にpushしていれば失敗するので、誤って上書きしにくい。