How to unindex committed files
Git is a powerful tool that can seem complicated if we know it badly. In this article, we will see the particular case of bad indexing.
This is a case that can very easily occur when the tool is poorly mastered, but don't panic, there is nothing irreparable. You can make mistakes, correct yourself, start over and learn at your own pace with the trick in this article.
Avoid indexing bad files
There are files we would rather not version with Git. For example, project dependencies (the node_modules
directory for a Node.js project), files containing environment variables, or other autogenerated/temporary files.
The .gitignore
file allows us to specify to Git the list of files that we do not want it to consider. Create it at the root of your project.
You can specify files, folders or globs there like this:
.env
/node_modules
npm-debug.log*
Once added to this list, the offending files will be invisible to Git. There will no longer be any way to add them accidentally.
Delete file from index
But sometimes we realize that a file should not be indexed only after committing it. An unfortunate git add .
or not using git status
regularly enough can easily lead to this situation.
If this happens, a simple command exists: git rm
.
git rm -r --cached name_of_your_file
Then you just have to commit the deletion of the index:
git add name_of_your_file
git commit
Voilà. The unwanted folder or file should no longer bother you. On the other hand, remember to add it to your .gitignore
file so as not to commit it mistakenly again. I refer you to the first part of the article to know how to do it.