Gitでファイルの変更を元に戻す

ワークツリー(ローカルの作業場)の変更を取り消す

→ワークツリーの内容をステージの内容で上書きすると同義
[git restore]コマンドを使用する。

git restore [ファイル名]

ステージの変更を取り消す

→ステージの内容を直前のコミットの内容で上書きすると同義
[git restore --staged]コマンドを使用する。

git restore --staged [ファイル名]

ステージの変更を取り消しただけでは、ワークツリーに影響を与えないため、ワークツリーでも変更させたいときは[git restore --staged]をしてから[git restore]コマンドを実行する。

直前のコミットを修正する

コミットした内容を修正したい場合、ワークツリーで修正したファイルを[git add]した後、[--amend]オプションを付けてコミットすることで直前のコミットを上書きすることができる。

git commit --amend

Git2.23より前では、ワークツリーからの取り消しではgit checkoutコマンド、ステージでの取り消し処理はgit reset HEADコマンドを使っていたそうです。
2.23以降では取り消しはどちらも[git restore]で、ステージの時は[--staged]を付けるということで、分かりやすいと思いました。

この記事が気に入ったらサポートをしてみませんか?