こんにちは、Nanayakuです。
git pushの取り消し方法とその取り消しを戻す方法を紹介します。
目次
git pushを取り消す方法
git pushを取り消すコマンドとして、git revert(リベート)とgit reset(リセット)があります。
git revert(リベート)は、取り消したいコミットを打ち消すコミットを新たに生成する方法です。
git reset(リセット)は、コミットを削除して新しいコミットをpushする方法です。
Gitの使用経験が浅い人は間違えを認め、取り消しをしないのが一番ですが、取り消す場合は「git revert」を選択した方が安心です。
git revert
# 直前のコミットを打ち消すコミットを生成 $ git revert HEAD #複数のコミットを取り消す(4つ) git revert HEAD~3 #過去のコミットを取り消す #commit idを確認 $ git log $ git revert <commit id> # 打ち消すコミットをプッシュします $ git push origin master
git reset
#直前のコミットを削除するが変更した内容は消えない $ git reset --soft HEAD^ #直前のコミットと変更内容を削除する $ git reset --hard HEAD^ #強制的にpushします git push -f origin master
git resetを取り消す
# Gitのログから、戻したいコミットの番号を確認する $ git reflog # git resetを取り消す $ git reset --soft HEAD@{X} #または $ git reset --hard HEAD@{X}
参考サイト
git pushを取り消す2つの方法 - Reasonable Code
git reset (--soft | --hard)を取り消す方法 - Reasonable Code
【Git】間違ってpushした場合の取り消し方 - Qiita
まとめ
「git push」「git commit」は、消さないのが1番んですが、取り消す場合は最新の注意が必要です。