はじめに
Gitで作業していて、
「よし、git add .してコミットしよう!」
と思った瞬間とんでもない量のファイルが表示されて固まりました。
何これ?
なんでこんなにファイルあるの?
このまま進めて大丈夫?
となりました。
この記事では、
node_modulesを間違ってGit管理に含めてしまったときの対処法をまとめます。
問題
git add .を実行したところ、
- 数千〜数万のファイルがステージングされた
- ターミナルが一気に赤や緑の文字で埋まった
- 「これ全部GitHubに上げるの?」と不安になった
このまま進めると、
- Gitの動作が重くなる
- GitHubへのpushが失敗する
- リポジトリが無駄に巨大になる
という、状態でした。
原因
原因は、node_modulesフォルダまでGitの管理対象に含めてしまったことでした。
node_modulesには、
- React本体
- ライブラリ
- 依存関係のファイル
などが大量に入っています。
このフォルダは、
- ファイル数が異常に多い
- 容量が非常に重い
- Gitで管理する前提ではない
という特徴があります。
つまり、膨大なデータをgit add .で指定してしまった、というわけです。
解決策
手順① とりあえずaddを取り消す
まずは落ち着いて、
今ステージングされている内容を全部リセットします。
git reset
これで、git add .が取り消され
node_modulesは未管理状態に戻りました。
手順② node_modulesをGitの無視リストに入れる
プロジェクトの一番上の階層に.gitignoreファイルを作成します。
そして、以下を追記しました。
node_modules/
pokemon-app/node_modules/
これでnode_modules/の中にある膨大なデータをgitの管理下から無視することができました。
手順③ 改めてaddする
.gitignoreを保存したら、確認します。
git status
さっきまで大量にあったファイルが消えて、
スッキリしていることを確認します。
改めてaddします。
git add .
これで、
正しく管理すべきファイルだけがGitに追加されました。
最後に
今回のトラブルで学んだことは、
- node_modulesはGit管理しない
-
.gitignoreは最初に必ず確認する -
git add .は便利だけど危険なこともある
という点でした。
