git rm (ファイル削除コマンド) の取り消し方法
コミット前のファイル削除操作の取り消し
概要
詳細
1. ステージングの取り消し
ステージング(git addコマンドに相当)を取り消す。
1.1. 取り消し方法1
1 |
git reset HEAD <pathspec> |
取り消し方法1のコマンド実行例
1 2 3 |
$ git reset HEAD foo.c Unstaged changes after reset: D foo.c |
1.2. 取り消し方法2
1 |
git restore --staged <pathspec> |
取り消し方法2のコマンド実行例
1 |
$ git restore --staged foo.c |
2. ワークツリーの復元
ワークツリーを復元する。編集したファイルを破棄して元に戻すときと同じ手順。たまたま編集ではなく削除であるため考え込んでしまうが、実行する手順(コマンド)は同じです。
2.1. 復元方法1
1 |
git checkout <pathspec> |
復元方法1のコマンド実行例
1 2 |
$ git checkout foo.c Updated 1 path from the index |
2.2. 復元方法2
1 |
git restore <pathspec> |
復元方法2のコマンド実行例
1 |
$ git restore foo.c |
コミット後のファイル削除操作の取り消し
1 |
$ git reset --soft HEAD^ |
このあと、「ステージングの取り消し」、「ワークツリーの復元」と作業を進める。