本番サーバにgit pullした時に、バグ発覚!元に戻すにはgit revert -m 1 HEAD (git reset –hard HEAD~でもOKだけどコミットに残しておいた方が良い)
1 2 |
# 一つ前に戻す git reset --hard HEAD~ |
HEAD~ = HEADの1個前
HEAD~~ = HEADの2個前
HEAD~~~ = HEADの3個前
1 2 3 |
# git pullでマージした場合は、-mオプション必須。 # どっちに戻すかは、1=元々のブランチ 2=マージしようとしているブランチ。基本的に1でOK git revert -m 1 HEAD |
問題なのは、revertした後に、修正して再度マージしたくなった場合、単純にgit pullしてマージしようとすると、前回revertした修正が反映されない。
revert(取り消し)のrevert(取り消し)をしないと、一度revert(取り消し)した修正って、二度と反映されないんですね…。
※この点はgit resetで履歴そのものを消す方が楽
1 2 3 4 5 |
# revert(取り消し)のrevert(取り消し) git revert -m 1 revertしたコミットID # この後にgit pullすれば、前の修正もマージされる。 git pull |