git でうっかりを取り消す小技メモ

Git 開発メモ

git は便利なのに、いざ「やっちゃった」というときに限ってコマンドが思い出せません。 毎回ネットで調べ直しているので、自分がよく使う取り消し系だけをここにまとめておきます。

直前のコミットメッセージだけ直したい

まだ push していないなら、これで書き直せます。

git commit --amend -m "新しいメッセージ"

push 済みのものを直すのは、共同作業だと事故のもとなので基本やりません。

コミットは取り消したいけど、変更内容は残したい

「1つ手前まで戻す。ただし編集した中身はそのまま」というときは --soft

git reset --soft HEAD~1

うっかり --hard にすると変更ごと消えてしまうので、そこだけ注意しています。 迷ったら --soft、が自分の中のルールです。

作業ツリーの変更を丸ごと捨てたい

「もう全部いらない、コミット済みの状態に戻したい」と確信したときだけ使います。

git restore .

結局、取り消し系は「どこまで戻すか」と「中身を残すか捨てるか」の掛け合わせなんだな、 と整理したら少し覚えやすくなりました。