Gitでレポジトリ管理ファイルをインデックスからのみ削除(ファイル自体は削除しない)

Gitのレポジトリ管理されてるファイルを管理対象から除外したい。という状況になりまして、個人的に忘れないための備忘録です。

まず、.gitignoreにファイル(ディレクトリ)を追加します。これで今後はGitはバージョン管理しなくなります。
しかし、この時点ではまだGitで管理されてる状態なので、Gitのインデックスから削除します。

$git rm file.txt

とかってやっちゃうと、インデックスからも消えるけど、ファイルも削除されてしまいます。
なのでオプションをつけて

$git rm --cached file.txt

とかするとファイルは残ってインデックスからは削除されます。
ちなみにディレクトリとかだと

$git rm -r --cached file/

みたいに再起的に処理しちゃうといい感じっぽいです。
最後に削除したということで差分がでてるのでコミットしてpushするとリポジトリからも消えてスッキリします。

Comments