Recently I started to work with the IntelliJ IDEA. As I pulled an old project I have seen that it contains Eclipse project files. My first task was to clean up my project and add the Eclipse and IntelliJ files to .gitignore. To get rid of the Eclipse files from the repository I used the following commands:
// Commit all changes (Maybe not necessary in your case)
git add . && git commit -m "Commit all staged files"
// Remove all files from the index
git rm -r --cached .
// Commit the files again without the ignored ones
git add . && git commit -m "Ignore project files"
Firstly I committed all recently done changes. Otherwise, I would lose them. The next command removes all index files recursively. The –cached option is used to remove the files from the index only and not from the working tree. The dot means that all files will be removed from the index. After that, I added all files again and did the commit. Now the repository is cleaned up, again.
If you want to test this command you can add
// Shows the existing files in the index which would be removed by the command.
git rm -r -n --cached .
You can also remove specific
// Remove foo.log file from the index only
git rm -r --cached foo.log
If you want to learn more about the different options take a look into the Git documentation.