記事の目的
- git rm コマンドについて記載
- Gitからファイルを削除したい時に使う
本文
- ファイルをGitから削除するには、追跡対象からはずし、そしてコミットします。
git rm はこの作業を行い、そして作業ディレクトリからファイルを削除します。
つまり、追跡されていないファイルとして残り続けることはない。
単純に作業ディレクトリからファイルを削除しただけの場合
$ rm PROJECTS.md
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working
directory)
deleted: PROJECTS.md
no changes added to commit (use "git add" and/or "git commit -a")
git status では、ステージされていないと表示される。
git rm を実行した場合
$ git rm PROJECTS.md
rm 'PROJECTS.md'
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: PROJECTS.md
次にコミットするときにファイルが削除され、追跡対象外となります。
変更したファイルをすでにステージしている場合
-f オプションで強制的に削除しなければならない。
オプションがある理由は、まだスナップショットに記録されていないファイルを誤って削除してしまうとGitで復旧することができなくなるのを防ぐためにある。
- 他にも、ハードディスク上にはファイルを残しておきたいけれど、もうGitでは追跡させたくない場合のやり方もある。 "--cached"オプション