.gitignore和Visual Studio项目:忽略bin/Debug目录,但不忽略bin/Release目录

Dan*_*ens 49 .net c# git gitignore visual-studio

我在git存储库中有一个C#Visual Studio项目.我想忽略内容bin/Debug目录,但不忽略bin/Release'目录的内容.我已经添加bin/Debug到我的.gitignore文件中,但它似乎没有用 - 它包含了bin目录的全部内容.这样做的正确条目是什么?

oro*_*edd 52

你不应该删除任何东西.添加.gitignore文件后,运行此命令以清除缓存,然后再次进行阶段和提交:

git rm -r . --cached
Run Code Online (Sandbox Code Playgroud)

  • 此命令将存储库中的所有文件标记为已删除。 (8认同)
  • 是的,如果你带着你的 gitignore 迟到了,那么这是正确的解决方案......当你再次提交并提交时,之前提交的所有 bin/obj 内容都将被删除。很好用。 (3认同)
  • 注意*然后登台并再次提交* (2认同)
  • 当您处于项目开始阶段时,这没问题!否则文件将被删除并且历史记录将丢失!@KliverMax 是对的! (2认同)

Gar*_*y.S 33

这通常是因为在提交文件后添加了.gitignore..gitignore告诉git忽略匹配的未跟踪文件,一旦提交了stuff,ignore将不再起作用.修复它的一种方法是删除bin/debug文件夹(手动通过explorer/powershell/bash),然后提交删除.一旦完成,忽略应该按预期工作.

  1. 删除文件/文件夹
  2. git add -A
  3. git commit


Noa*_*oah 31

这是我们最近使用的,它删除了所有resharper生成的东西和一些其他重要的东西.请注意,我们不提交我们的发布目录,因此您不应该包含Release/在您的内容中.gitignore,但要回答您的问题,您应该包括Debug/.

/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp
Run Code Online (Sandbox Code Playgroud)

UPDATE

这是github的一个非常全面的例子:

  • 这可能不会起作用,因为`bin /`ignore指令使`Debug /`和`Release /`冗余. (2认同)
  • @ Gary.S,它应该还可以.后面的行只是多余的,可以删除. (2认同)

小智 11

我知道这是一个老问题,但我决定分享我的方法,排除了bin/Debug,bin/Release等.

*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release
Run Code Online (Sandbox Code Playgroud)


Ben*_*AUD 10

运行以下命令对我有用(感谢"orourkedd"):

git rm -r . --cached
Run Code Online (Sandbox Code Playgroud)

我手动添加了.gitignore文件,但在运行此命令之前没有考虑到它.

然后我不得不再次承诺,现在好了./bin/obj文件夹现在被正确排除.


Dan*_*ens 3

我通过替换为解决了这个bin/Debug问题Debug

这也会产生忽略目录的影响obj/Debug,但是我想忽略obj目录的全部内容,所以我还添加obj.gitignore.