【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

githubにpushしたcommitの取り消し

githubにpushしてからcommitが間違っていたことに気付きました。以下のようにすると取り消すことができます。

【注意】commitだけでなく変更も失われます。ローカルのソースツリーは残された最後のcommitに戻されます。変更を保存したい場合は使わないでください。コミットログの修正には git commit --amend を使用してください。

git rebase -i HEAD~2 ← エディタが開くので二行目を削除して保存する
git push origin +master

以下を参考にしました。

githubだけ

githubだけを取り消すには別の方法もあります。ローカルは同期しません。

git push -f origin HEAD^:master

ローカルだけ

こちらはよく紹介されていますが、ついでに書いておきます。

git reset HEAD^

これをやってからpushしようとしてもうまくいきません。pushする前に使う方法のようです。

以下を参考にしました。