#はじめに
今回は、git rm
を使って、ファイルを削除してみましょう。
rm
とは、remove
の略です。
#git rm
git rm
を使うと、指定したファイルが完全に削除されるので、リポジトリだけではなく、ワークツリーからも削除されます。
つまり、ファイル(やディレクトリ)がもういらなくなったというときにgit rm
を使います。
git rm <ファイル名>
git rm -r <ディレクトリ名>
ここで、git status
を実行して差分を確認してみると、指定したファイルがリポジトリから削除され、その削除された状態がステージ(インデックス)に記録されていることが分かります。
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: <ファイル名>
#git rm --cached
git rm --cached
を使うと、リポジトリからはファイルを削除しますが、ワークツリーにはファイルを残すことができます。
間違ってGit管理下にあげてしまったからGit管理対象からは外したいが、ファイルは残したいというような場合に使います。
git rm --cached <ファイル名>
ここで、再びgit status
を実行して差分を確認してみると、git rm
と同様、リポジトリからはファイルが削除されており、Git管理下には同ファイルが存在しないのに、ワークツリーからは同ファイルを削除していないため、同ファイルがステージに追加していない未追跡ファイルとして認識されています。
つまり、リポジトリからは削除されているけれど、ワークツリーからは削除されていないということが分かりますね。
git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: <ファイル名>
Untracked files:
(use "git add <file>..." to include in what will be committed)
<ファイル名>
#おわりに
ファイルを削除するのってなんかちょっと怖いですよね。
でも、ちゃんとファイルを元に戻すコマンドもあるので、安心して削除しましょう。