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

问题描述 投票:41回答:9

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

c# .net visual-studio git gitignore
9个回答
48
投票

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

git rm -r . --cached

30
投票

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

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

29
投票

这是我们最近一直在使用的东西,它删除了所有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

UPDATE

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


11
投票

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

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

8
投票

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

git rm -r . --cached

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

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


1
投票

我通过用bin/Debug替换Debug来解决这个问题。

这也会有忽略obj/Debug目录的影响,但我想忽略obj目录的全部内容,所以我也将obj添加到.gitignore


1
投票

这对我有用:

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

如果您正在使用GitHub Desktop,则可以右键单击要排除的文件,或者右键单击它并按扩展名排除:

enter image description here

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


1
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.