Ignoring a directory from a Git repo after it's been added

GitGitignore

Git Problem Overview


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?

Git Solutions


Solution 1 - Git

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.

Solution 2 - Git

On windows:

git rm -r --cached ./FOLDERNAME/

And then do the other stuffs. (add and commit and push)

(Note that on windows you should use ./ before the folder name, just like above.)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWinWinView Question on Stackoverflow
Solution 1 - GitNicView Answer on Stackoverflow
Solution 2 - GityayaView Answer on Stackoverflow