1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

git 取り消しのチートシート

Last updated at Posted at 2023-04-30

Gitで「やっちまった。。(涙目)」な、経験はありませんか?
覚えやすいように以下でまとめました(@YuneKichiさん感謝)。
git commit前は git restore
git commit後は git reset

push前

何を取り消す? コマンド 備考
ローカルの変更 git restore ファイル名
git add git restore -S ファイル名 -S は、--staged の略
直前のgit commit → staged状態 git reset --soft HEAD^
直前のgit commit → add前の状態 git reset HEAD^ デフォで --mixed 指定
直前のコミットでローカルの変更も取り消し git reset --hard HEAD^

push後

履歴を残さずコミットを取り消す

コミットを取り消して、再度pushすれば OK
ただ、コミット先が他の人もコミットする環境では、不整合が生じる可能性があります。
正直に報告(=ゴメンナサイ)しましょう。

git reset --soft HEAD^ (--の指定は上記を参照)
git push -f コミット先指定 (以前のコミットとコンフリクトするので -f を付ける)

複数のコミットを取り消したい場合は、HEAD^の後に数を指定する。
例: HEAD^3 3つ前まで戻す(=2つ取り消し)

履歴を残す場合は、取り消しコミットを作成

git revert HEAD
(コミットメッセージを編集)
git push コミット先(リモート)を指定
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?