git でうっかりを取り消す小技メモ
git は便利なのに、いざ「やっちゃった」というときに限ってコマンドが思い出せません。 毎回ネットで調べ直しているので、自分がよく使う取り消し系だけをここにまとめておきます。
直前のコミットメッセージだけ直したい
まだ push していないなら、これで書き直せます。
git commit --amend -m "新しいメッセージ"
push 済みのものを直すのは、共同作業だと事故のもとなので基本やりません。
コミットは取り消したいけど、変更内容は残したい
「1つ手前まで戻す。ただし編集した中身はそのまま」というときは --soft。
git reset --soft HEAD~1
うっかり --hard にすると変更ごと消えてしまうので、そこだけ注意しています。
迷ったら --soft、が自分の中のルールです。
作業ツリーの変更を丸ごと捨てたい
「もう全部いらない、コミット済みの状態に戻したい」と確信したときだけ使います。
git restore .
結局、取り消し系は「どこまで戻すか」と「中身を残すか捨てるか」の掛け合わせなんだな、 と整理したら少し覚えやすくなりました。