はじめに
Gitで開発を進めていると、.gitignore に特定のファイルやフォルダを指定しても「なぜか効かない…」ということがあり、原因を調べてみると
これは、すでにGitの管理下に追加されているファイルやフォルダは .gitignore の影響を受けないとのこと
今回はそういった際の対処法の備忘録記事になります。
そもそも .gitignore とは?
.gitignore は、Gitが「追跡(管理)しないファイルやフォルダ」を指定するファイル
例として、ビルド成果物やログ、一時ファイルなどを記述しておくことで、誤ってコミットすることを防げます
.gitignore が効かない原因
.gitignore は「まだGitに追加されていないファイル」にのみ効果があります。
すでに一度でも git add やコミットされているファイルは、.gitignore に書いても無視されないようです。
効かせるための手順
1. .gitignore に除外対象を追加する
例として、output_images/ フォルダを無視したい場合は .gitignore に次のように書きます。
output_images/
2. すでに管理対象のファイル・フォルダをGitから除外する
git rm --cached -r output_images/
--cached:ローカルには残したままGitの管理対象から外す
-r:ディレクトリ内のファイル・フォルダもすべて対象にする
⚠️ --cached を外すとフォルダファイル自体が削除されるので注意してください。
まとめ
状況 対処方法
.gitignore を書いたのに効かない git rm --cached で管理対象から除外する
まだ一度もGitに追加していない .gitignore に書くだけでOK
以上、備忘録でした。