何番煎じか分かりませんが、git revert
を解説します。
gitでコミットを重ねていくうちに「前のコミットに戻したい」という場面はあると思います。そのとき、git revert
というコマンドが便利です。これはコミットを打ち消すコミットを出します。分かりにくい言い方ですが、これは、行を追加したならばそれを削除し、行を削除したならば元の行を追加するコミットということです。
git revert
の良いところは、いくつかあるコミットを取り消す方法の中で最も簡単で安全だということです。もし間違ってrevertしても、revertを再度revertすれば元の内容に戻すことができます。
それでは実際の動作を見ていきましょう。
git init
echo x > a.txt
git add .
git commit -m "x"
これで"x"と書かれたa.txtがコミットされました。
次に以下を実行します。
echo y > a.txt
git add .
git commit -m "y"
これで"y"と書かれたa.txtがコミットされました。
この"y"と書かれたコミットを取り消して"x"に戻したいとします。
そのため、以下のコードを実行します。
git revert 33ffe
"33ffe"は、git log
で見ることができる"y"のコミットのコミットIDです。全てを入力しなくとも、他と重複しないのであれば先頭の一部のみで大丈夫です。git revert
するとvimが立ち上がり、コミットメッセージの入力を促されます。表示されている内容で問題なければ":wq"をタイプしてEnterを押して下さい。
これでa.txtを見ると内容が確かに"x"となっています。revert成功です。