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

时间:2012-06-20 15:46:55

标签: c# .net visual-studio git gitignore

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

9 个答案:

答案 0 :(得分:45)

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

git rm -r . --cached

答案 1 :(得分:29)

这是我们最近一直在使用的内容,它删除了所有重新生成的东西以及其他一些重要的东西。请注意,我们不提交发布目录,因此您不应在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

<强>更新

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

答案 2 :(得分:29)

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

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

答案 3 :(得分:11)

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

*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release

答案 4 :(得分:6)

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

git rm -r . --cached

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

然后我不得不再次承诺,现在一切都好了。现在已正确排除/bin/obj个文件夹。

答案 5 :(得分:1)

我通过将bin/Debug替换为Debug来修复此问题。

这也会忽略obj/Debug目录,但是我想忽略obj目录的全部内容,所以我还将obj添加到{{1} }}

答案 6 :(得分:1)

从“ Git Desktop”中右键单击要忽略的文件名,然后将它们添加到.gitignore文件中。这里gitignore文件将被自动创建。将该文件检入git。

答案 7 :(得分:0)

这对我有用:

*.exe
*.pdb
*.manifest
*.cache

如果您在使用GitHub桌面时使用它,您只需右键单击要排除的文件或右键单击它并按扩展名排除:

enter image description here

这将使用上面的代码为您自动生成.gitignore文件。您可以在此处下载GitHub桌面:GitHub Desktop for Windows 64-bit

答案 8 :(得分:0)

这可能稍微偏离主题,但每当开始创建一个新项目时,我通常使用GitIgnore.IO创建我的初始gitignore文件,然后根据我的需要从那里调整它。