Why is .gitignore not ignoring my files?
Solution 1:
.gitignore
only ignores files that are not part of the repository yet. If you already git add
ed some files, their changes will still be tracked.
To remove those files from your repository (but not from your file system) use git rm --cached
on them.
Solution 2:
The .gitignore
file ensures that files not tracked by Git
remain untracked.
Just adding folders/files to a .gitignore
file will not untrack them -- they will remain tracked by Git
.
To untrack files, it is necessary to remove from the repository the tracked files listed in .gitignore
file. Then re-add them and commit your changes.
The easiest, most thorough way to do this is to remove and cache all files in the repository, then add them all back. All folders/files listed in .gitignore
file will not be tracked. From the top folder in the repository run the following commands:
git rm -r --cached .
git add .
Then commit your changes:
git commit -m "Untrack files in .gitignore"
Please note that any previous commits with the unwanted files will remain in the commit history. When pushing to GitHub be aware of a commit history that might contain .env
or client_secret.json
files.
Best practice is to create a .gitignore file and populate it with the folders/files you do not want tracked when starting a project. However, often it is necessary to add to the .gitignore
file after realising that unwanted files are being tracked and stored.
Solution 3:
Follow These steps to work gitignore
-
Make changes in .gitignore file.
-
Run
git rm -r --cached .
command. -
Run
git add .
command -
git commit -m "Commit message"
Solution 4:
You can use this,
git rm -r --cached ./node_modules
if you want to ignore node_modules, for example
Solution 5:
gitignore
ignores only untracked files. Your files are marked as modified - meaning they were committed in the past, and git now tracks them.
To ignore them, you first need to delete them, git rm
them, commit and then ignore them.