この記事は下記のような人に向けた記事です。 ・ Gitを使った作業がある ・ Gitで間違えてコミットしてしまった!
皆さん、Git使ってますか?
Gitを使っていて、間違えてコミットしてしまったことはないでしょうか?
そんな時に使えるコマンドを紹介します。
git reset コマンドにはオプションが3種類ある
git reset は、コミットの履歴を完全に消すコマンドです。
大雑把ではありますが、オプションが3つあります。
- hard ・・・ コミットの取り消し、ローカルの変更の取り消し。
- soft ・・・ コミットの取り消し、ローカルの変更はそのまま。addしたものもそのまま。
- mixed ・・・ コミット、addの取り消し。
基本的に上の二つのみ押さえていればいいと私は思っています。
オプション:hard
手っ取り早く直前のコミットを一つ削除、ローカルの変更も無かったことにする場合は、以下。
$ git reset --hard HEAD^
- 修正をコミットしちゃったけど、そもそも修正する必要なかった
- 間違えて修正した内容をコミットしてしまっていて、一度全部なかったことにしたい
上のような場合に使えそうですね。
オプション:soft
こちらも手っ取り早く直前のコミットを削除、ローカルの変更は保持する場合は、以下。
$ git reset --soft HEAD^
- 間違えてコミットしちゃった!
って時に使えそうですね。
オプション:mixed
softオプションとの違いは、addしたファイルも同時に取り消す点です。
使いこなせたらカッコ良いですが、個人的にはsoftのみでも十分な気はしてます。
$ git reset --mixed HEAD^
後書き
私自身もよく混乱してググることが多いため、パッとコマンドがわかるようにまとめてみました。
需要がありそうであれば、詳細な解説も追記しようかと思います!
では!
コメント