我在 git 存储库中有一个 C# Visual Studio 项目。我想忽略内容bin/Debug
目录,但不忽略bin/Release
' 目录的内容。我已添加bin/Debug
到我的.gitignore
文件中,但它似乎不起作用 - 它包括bin
目录的全部内容。正确的条目是什么?
9 回答
你不应该删除任何东西。添加 .gitignore 文件后,运行此命令以清除缓存,然后再次暂存并提交:
git rm -r . --cached
这通常是因为 .gitignore 是在文件提交后添加的。.gitignore 告诉 git 忽略匹配的未跟踪文件,一旦提交内容,忽略将不再起作用。修复它的一种方法是删除 bin/debug 文件夹(手动通过 explorer/powershell/bash),然后提交删除。一旦完成,忽略应该按您的预期工作。
- 删除文件/文件夹
git add -A
git commit
这是我们最近一直在使用的,它删除了所有重新生成的东西和其他一些重要的东西。请注意,我们不会提交我们的发布目录,因此您不应包含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 的一个非常全面的示例:
运行以下命令对我有用(感谢“orourkedd”):
git rm -r . --cached
我手动添加了.gitignore
文件,但在我运行此命令之前没有考虑到它。
然后我不得不再次承诺,现在一切顺利。/bin
并且/obj
文件夹现在已正确排除。
我知道这是一个老问题,但我决定分享我的方法,它完全排除了 bin/Debug、bin/Release 等。
*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release
我通过替换bin/Debug
为Debug
.
这也会产生忽略obj/Debug
目录的影响,但是我想忽略目录的全部内容obj
,所以我也添加obj
了.gitignore
.
这对我有用:
*.exe
*.pdb
*.manifest
*.cache
如果你像我一样使用 GitHub Desktop,你可以右键单击要排除的文件或右键单击它并按扩展名排除:
这将.gitignore
使用上面的代码自动为您生成一个文件。您可以在此处下载 GitHub Desktop:适用于 Windows 64 位的 GitHub Desktop。
右键单击要从“Git Desktop”中忽略的文件名,然后将它们添加到.gitignore
文件中。这里会自动创建 gitignore 文件。将该文件签入 git。
这可能有点跑题了,但是每当开始创建一个新项目时,我通常使用GitIgnore.IO来创建我的初始 gitignore 文件,然后根据我的需要从那里调整它。