I have a C# Visual Studio project in a git repository. I want to ignore the contents bin/Debug
directory but not the contents of the bin/Release
\' dire
I fixed this by replacing bin/Debug
with Debug
.
This would also have the affect of ignoring the obj/Debug
directory, however I want to ignore the entire contents of the obj
directory, so I have also added obj
to .gitignore
.
You shouldn't have to delete anything. After you added the .gitignore file, run this command to clear the cache, then stage and commit again:
git rm -r . --cached
Running the following command worked for me (thanks to "orourkedd"):
git rm -r . --cached
I manually added the .gitignore
file but it wasn't taken into consideration until I ran this command.
I then had to commit again and all good to go now. /bin
and /obj
folders are properly excluded now.
This typically happens because the .gitignore was added after the files were committed. The .gitignore tells git to ignore untracked files that match, once stuff is committed the ignore will no longer work. One way to fix it is to remove the bin/debug folder (manually through explorer/powershell/bash), then commit the removals. Once that is done the ignores should work as you expect.
git add -A
git commit
Right click on those file names you want to ignore from "Git Desktop", then add them to .gitignore
file. Here gitignore file will be automatically created. Check in that file to git.
Here's what we've been using lately, it removes all resharper generated stuff and some other important things. Note that we don't commit our release directory, so you shouldn't include Release/
in your .gitignore
, but to answer your question, you should include Debug/
.
/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp
UPDATE
Here's a pretty comprehensive example from github: