はじめに
プログラミング学習中の@kat_logと申します。
プログラミング学習中、学習中のプロジェクト(リポジトリ)の色んな階層にnode_modules
がある構成で、git管理に戸惑ったのですが、解決したため共有です。
結論
.gitignoreの再帰的な指定と、git rm -r --cached */node_modules
が必要でした。
設定
.gitignoreに以下を追加します
.gitignore
**node_modules
.gitignoreファイルはリポジトリ作成時に自動生成されるものではないため、存在しない場合はプロジェクトルート直下に自分で作成する必要があります
ターミナルにて、下記コマンドを実行します
このコマンドが必要なのは、/node_modulesが既にgit管理下に置かれてしまっている場合のみです
git rm -r --cached */node_modules
(追記)別の端末にてうまくいかない場合
別の端末にてコミットしようとした際
まだ上記の設定が反映されていないと、fatal: pathspec '*/node_modules' did not match any files
というエラーが出ます
その際は、
git rm -r --cached .
git add .
git commit -m "Exclude node_modules directory"
とするとうまくいきました!
おわりに
お読みいただきありがとうございました。
自分用のメモ的な知識ですが、どなたかの参考になることがあれば嬉しいです。
参考