【Git コマンド】RevertをRevert

※自分用メモ

先日、ある誤字を入れたコミットをpushしてしまった。(正確に言えばxcodeを選択したままターミナルでgitと打とうとして結果的にxcode上でgitという文字を入力してしまった。)
そんなことすれば、もちろんのことコンパイルしない。。。

ヤバス。。。。

久しぶりに焦った。。。。。

そこで使ったのが、git revertだ!

git revertとはあるコミットの変更を元に戻す新しいコミットを作成すること。   
※revertはpushしなければならない

これで、元に戻ったのだが、先ほどのコミットで書いたコードをまた1から書かなくてはならない。。。

それも嫌なので、次にやったことは先ほどのrevertをもう一回revertした。
こうすれば、誤字は入っているもの変更した内容も復元される。 (まだrevertはpushしない) そこで、誤字を修正して再度pushして、めでたしめでたし(汗

今回行った内容を順番に書くと。。。

1. git push //誤字の入ったコミットをpush  
2. git revert <commit> //「1.」のコミットをrevert  
3. git push // revertし変更を元に戻したコミットをpush  
4. git revert <2.のcommit> //「2.」のコミットをrevertして変更した内容を復元させる(誤字も含む)  
5.  誤字の箇所を修正  
6. git push // 「4.」のrevertコミットと「5.」の修正コミットをpush  

git resetgit revertの大きな違い
git revertはコミットの変更内容をすべて元に戻すコミットを作成し、pushする。
※revertは履歴が残る
git resetはコミットをの変更内容をなかったようにし、過去の状態に戻す。
※resetは履歴が残らない