ファイルを追跡対象から外す- git rm
ファイルを作業ツリーとインデックスから削除します。
概念図
構文
bash
git rm [options] <file>...使用例
ファイルを削除
bash
git rm file.txtインデックスからのみ削除
bash
git rm --cached file.txt注意点
削除してコミットしても過去には残る
git rmで削除してコミットしても、過去のコミット履歴にはファイルが残ります。パスワードや秘密鍵など機密情報を誤ってコミットした場合はgit rm --cachedだけでは不十分です。履歴からも完全に除去するにはgit filter-branchや BFG Repo-Cleaner などの専用ツールが必要になります。--cachedで追跡だけ外す誤ってコミットしてしまったファイルを
.gitignoreに追加する際の定番パターンです。作業ディレクトリのファイルは残るので、実ファイルを消したくない場合に使います。変更があるファイルの削除
変更がステージングされているファイルを削除しようとするとエラーになりますが、
-fオプションで強制削除できます。git restoreとの使い分けファイルを「未追跡に戻す」のか「作業ディレクトリの変更を破棄する」のかで使うコマンドが変わります。詳しくは rm と restore の使い分け を参照してください。
