我在 git 存储库中有一个 C # Visual Studio 项目。我希望忽略内容 bin/Debug目录,但不忽略 bin/Release目录的内容。我已经将 bin/Debug添加到我的 .gitignore文件中,但它似乎不起作用——它包含了 bin目录的全部内容。这样做的正确条目是什么?
bin/Debug
bin/Release
.gitignore
bin
这是我们最近使用的,它删除所有锐化生成的东西和一些其他重要的东西。注意,我们不提交发布目录,所以您不应该在 .gitignore中包含 Release/,但是为了回答您的问题,您应该包含 Debug/。
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 手动删除) ,然后提交删除操作。一旦这样做了,忽略应该如您所期望的那样工作。
git add -A
git commit
我通过用 Debug代替 bin/Debug来解决这个问题。
Debug
这也会影响到忽略 obj/Debug目录,但是我想忽略 obj目录的全部内容,所以我还将 obj添加到了 .gitignore。
obj/Debug
obj
你不应该删除任何东西。在您添加了。Gitignore 文件,运行此命令清除缓存,然后再次提交:
git rm -r . --cached
我知道这是一个老问题,但我已经决定分享我的方法,其中完全排除了 bin/Debug,bin/Release 等。
*/**/bin/Debug */**/bin/Release */**/obj/Debug */**/obj/Release
运行以下命令对我很有用(感谢“ orourkedd”) :
我手动添加了 .gitignore文件,但是在运行这个命令之前没有考虑到它。
然后我不得不再次提交,现在一切都好了。 /bin和 /obj文件夹现在正确排除。
/bin
/obj
这对我有用:
*.exe *.pdb *.manifest *.cache
如果你像我一样使用 GitHub 桌面,你可以右键单击你想要排除的文件,或者右键单击它并扩展排除:
这将自动生成一个 .gitignore文件与上面的代码一样。你可以在这里下载 GitHub 桌面: 适用于 Windows64位的 GitHub 桌面。
这可能有点偏离主题,但无论何时开始创建一个新项目,我通常使用 GitIgnore.IO创建我的初始 gitignore 文件,然后我从那里根据我的需要微调它。
右键单击那些您想要忽略的文件名从“ Git 桌面”,然后将它们添加到 .gitignore文件。这里将自动创建 gitignore 文件。把那个文件检查一下。