①直前のコミットを取り消し、変更はステージングエリアに残されたままにする(git addされたままにする)
$ git reset --soft HEAD^
②直前のコミットも取り消し、ステージングエリアからも変更を取り消す
$ git reset --hard HEAD^
※過ってマージコミットしてしまった場合も、これを使うことでマージ前の状態に完全に戻せる
③git addしたファイルを全て git addされていない状態に戻す
$ git reset
④git addしたファイルのうち、特定のファイルを git addされていない状態に戻す
$ git reset <git addを取り消したいファイル名>
⑤マージの途中で何らかの理由で取り消したい場合、進行中のマージを中止する
$ git merge --abort
⑥履歴は保持するようにして、マージコミットは元に戻す
$ git revert -m 1 <マージコミットのハッシュ>
※<マージコミットのハッシュ> は取り消したいマージコミットのID
※-m 1 は、最初の親ブランチを指定したもの(マージコミットには複数の親があるため、元のブランチがどちらであったかを明示する必要がある)
⑦githubに一度pushしてしまったファイルの名前を付け替える。(大文字小文字など)
※githubにpushしたファイル名は大文字・小文字は区別されるものと思って注意が必要
(下では、Laravel(PHPのフレームワークの1つ)のあるプロジェクト内のフォルダの Contactcontroller.php を ContactController.phpに直す場合)
$ git mv app/Http/Controllers/Contactcontroller.php app/Http/Controllers/Contactcontroller2.php
# (github上) (一旦変換用の名前につけかえ)
$ git mv app/Http/Controllers/Contactcontroller2.php app/Http/Controllers/ContactController.php
# ↑(直したい名前)