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

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

118396 次浏览

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

/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp

更新

下面是来自 github 的一个相当全面的例子:

这通常是因为。在提交文件之后添加了 gitignore。那个。Gitignore 告诉 git 忽略匹配的未跟踪文件,一旦提交了内容,忽略将不再起作用。解决这个问题的一种方法是删除 bin/debug 文件夹(通过 Explorer/powershell/bash 手动删除) ,然后提交删除操作。一旦这样做了,忽略应该如您所期望的那样工作。

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

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

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

你不应该删除任何东西。在您添加了。Gitignore 文件,运行此命令清除缓存,然后再次提交:

git rm -r . --cached

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

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

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

git rm -r . --cached

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

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

这对我有用:

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

如果你像我一样使用 GitHub 桌面,你可以右键单击你想要排除的文件,或者右键单击它并扩展排除:

enter image description here

这将自动生成一个 .gitignore文件与上面的代码一样。你可以在这里下载 GitHub 桌面: 适用于 Windows64位的 GitHub 桌面

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

右键单击那些您想要忽略的文件名从“ Git 桌面”,然后将它们添加到 .gitignore文件。这里将自动创建 gitignore 文件。把那个文件检查一下。