gitgitignoregit-rm

How do I make Git forget about a file that was tracked, but is now in .gitignore?


I put a file that was previously being tracked by Git onto the .gitignore list. However, the file still shows up in git status after it is edited. How do I force Git to completely forget the file?


Solution

  • .gitignore will prevent untracked files from being added (without an add -f) to the set of files tracked by Git. However, Git will continue to track any files that are already being tracked.

    To stop tracking a file, we must remove it from the index:

    git rm --cached <file>
    

    To remove a folder and all files in the folder recursively:

    git rm -r --cached <folder>
    

    The removal of the file from the head revision will happen on the next commit.

    WARNING: While this will not remove the physical file from your local machine, it will remove the files from other developers' machines on their next git pull.