I've learned how to exclude an entire directory in git (add a line bin/
to .gitignore
). And I've learned how to ignore files "after the fact" (i.e. after they have been added to git):
git rm --cached <filename>
How do I ignore an entire directory (e.g. bin/
) after it has been added to a Git repo?
I tried git rm --cached bin/
but all I received was the error:
fatal: pathspec 'bin/' did not match any files
When I tried (at the root directory, where .git exists) git rm --cached MyProj/bin/
the error is different:
fatal: not removing 'MyProj/bin/' recursively without -r
What does this mean and will I need to commit and/or branch this now?
If you want to maintain a folder and not the files inside it, just put a ". gitignore" file in the folder with "*" as the content. This file will make Git ignore all content from the repository.
Use Git update-index to ignore changes To resume tracking, run the git update-index command with the --no-skip-worktree flag. Or, you can temporarily stop tracking a file and have Git ignore changes to the file by using the git update-index command with the assume-unchanged flag.
I was able to get this working with git rm -r --cached bin/
(note the recursive -r
)in the root of the repo - are you talking about finding the bin directories and untracking them?
You will have to commit
before the exclusion is reflected.
I just saw that you were on Windows. This was in Terminal on OSX, just a heads up.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With