【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 reset
とgit revert
の大きな違い
・git revert
はコミットの変更内容をすべて元に戻すコミットを作成し、pushする。
※revertは履歴が残る
・git reset
はコミットをの変更内容をなかったようにし、過去の状態に戻す。
※resetは履歴が残らない