Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to remove node_modules after they have been added to a repo

How to remove node_modules

Create a .gitignore file

  1. Check for an existing .gitignore file in the project directory
ls -a
  1. If your project directory has a .gitingore file - skip to step 3. Otherwise, continue with:

Create a .gitignore file in the git repository

touch .gitignore

Remove the node_modules directory

  1. Open up the .gitignore and add the following line to the file
**/node_modules
  1. Remove the node_modules folder from the git repository
git rm -r --cached node_modules

Commit All Changes

  1. Commit the git repository without the node_modules folder
git commit -m "Removed node_modules folder"
  1. Push the change to the remote repo
git push origin main
  1. Commit the .gitignore file
git add .gitignore
git commit -m "Updated the .gitignore file"
git push origin main
@sparker888
Copy link

whew. Thx!

@ZeligHerskovits
Copy link

Wow thanks!!

@keberlea
Copy link

Thanks for the help!

@Baptcave
Copy link

Thank you so much !

@BekzodIsakov
Copy link

Don't we have to edit **/node_modules back to node_modules inside .gitignore file?

@lmcneel
Copy link
Author

lmcneel commented May 30, 2023

Don't we have to edit **/node_modules back to node_modules inside .gitignore file?

@BekzodIsakov A leading **/ in a .gitignore file will allow files and folders to be ignored in the current or any descendant directory rather than just the current directory. This is useful in apps with separate packages for the client & server, for example.

If I have a directory structure like

  • .gitignore
  • client
    • node_modules
  • server
    • node_modules

The **/node_modules will still ignore the node_modules folder.

The **/ is not necessary if only the node_modules folder will be at the same level as the .gitignore file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment