参加しているプログラミングスクールで、プログラムをpushした際に、あるファイルが余分なので削除してくださいとの話になった。
その時に、git rmコマンドが出てきたので、気になったので調べてみた。
git rm コマンドを実行すると??
git rm[ファイル名]
コマンドを実行すると、ワークツリーとインデックスからファイルが削除され、git commit
時にはリポジトリにファイルが削除された事が記録される。
-
ワークツリーとは?
自分のパソコンで作業してる場所のこと -
インデックスとは?
自分のパソコンから一時的にファイルを預けておくような場所 -
リポジトリとは?
Githubのようなオンラインでファイルを保管してくれるような場所
git rm --cachedとは?
git rm --cached [削除したいファイル]
を実行すると、実際のファイルを残したまま、Gitの管理対象から外すことができます。
僕の使っているテキストエディタ「VScode」では、ファイルは残っているものの、ファイル名がグレー色になっていました。
ファイルを残した場合は.gitignore
を追記しないといけないようですが、これはまた今度調べたいと思います。
git rm -rf --cachedとは??
git rm -rf --cached [削除したいファイル]
今回プログラミングスクールで使用したコマンドはコレです。
.vscodeディレクトリの中にlunch.jsonというファイルが含まれており、.vscodeディレクトリ全てを削除したいという流れでした。
はじめ、git rm -f --cached
を実行した所、ターミナルで
fatal: not removing '.vscode' recursively without -r
と怒られました。
「git rm -f --cached
ではディレクトリは削除できませんよ!」ということですかね。
最終的に、
git rm -rf --cached
を使い、無事にディレクトリと中のファイルごと削除する事ができました。