コミットを消す方法、逆に消したコミットを戻す方法

kazuki-tohyama 27views 更新:2017年4月18日

ブランチをプッシュしようとしたら競合によって出来なくなってしまったので、コミットの状態を一つ前に戻す方法を調べました。 直前のコミットを消したい場合は、

$ git reset --hard HEAD^

で消すことが出来ます。しかし、消しすぎてしまったという場合はまず

$ git reflog 

で過去のコミットとそれに対応するコミットメッセージを、先ほど消したものも含めて見ることが出来ます。 各コミットの行の頭に「HEAD@{数字}」のような単語があるので、元に戻したいコミットの数字を確認し、

$ git reset --hard HEAD@{戻したいコミットの数字}

で元に戻ることが出来ます。
また、reflogで確認することの出来るHEAD@{数字}はそのまま$ git reset –hard HEAD^のHEAD^の代わりに置き換えることで、指定したコミットを消去することが出来るらしいです。
こちらを参考にしました。
http://qiita.com/shuntaro_tamura/items/06281261d893acf049ed  http://qiita.com/muran001/items/dea2bbbaea1260098051

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません