コミットだけ取り消したい(コード変更は残す)
直前のコミットを「やり直し可能」な状態に戻す場合に使う
- ファイルの変更内容はそのままステージング済み(add状態)
- git commit をやり直せる
git reset --soft HEAD~1
コミット+ステージも取り消したい(コード変更は残す)
コミットもgit add
も取り消して、編集だけ残す
- 変更内容は残る(作業ツリーはそのまま)
- ステージ(add)はされていない
git reset --mixed HEAD~1
または
git reset HEAD~1
完全に消す(コード変更もコミットもすべて消す)
何もなかったことにする
git reset --hard HEAD~1
注意:この操作をすると、コードもコミットも元の状態には戻せません。
初回コミットを間違えた時
初回コミットをリセットしようとしても、以下のコマンドは使えません。
git reset --soft HEAD~1
なので、こっちを使います。
rm -rf .git
git init
そのあとはgit remote -v
でリポジトリを確認します。
次に、git remote add origin リポジトリ
などで、リポジトリを指定してaddしましょう。
まとめ
個人開発で主に使いましょう。
会社での作業等では極力使いたくないですね。ミスったら終わる。。。