我想忽略 git 存储库中的 bin 和 obj 文件夹。正如我发现的,在 .gitignore 中没有简单的方法可以做到这一点。那么,还有其他办法吗?在 Visual Studio 中使用干净的解决方案?
我不确定为什么这对你不起作用。如果有帮助的话,这是我的 Visual Studio/git 项目之一中的典型 .gitignore 文件:
*.suo
*.user
_ReSharper.*
bin
obj
packages
仅仅在 gitignore 中创建一个条目可能不会忽略文件,您可能需要提交它。我使用了以下方法并为我工作
git rm -r --cached .
git add .
然后
git commit -am "Remove ignored files"
但是,这会忽略我稍后将其包含到存储库中的脚本文件夹。
最近更新 Visual Studio 2019 后,以下选项不可用。 或者,您也可以从以下位置复制最新的 gitignore 内容。 https://raw.githubusercontent.com/github/gitignore/master/VisualStudio.gitignore
如果您使用的是 Visual Studio,那么有一个简单的方法可以做到这一点。
它将创建一个默认的 .gitignore 文件,该文件将忽略框架/语言将使用的大多数常见文件夹和文件。
如果您之前提交了 bin 和 obj 文件夹,将它们添加到 .gitignore 不会自动删除它们。 您需要提交删除这些文件夹,例如
git rm -rf obj
或 git rm -rf yourProject/obj
然后提交删除
尝试添加不需要的文件夹的名称,git 永远不会从前面提到的根目录开始进行这些更改。这对我来说很有效,可以将这些文件夹名称添加到
.gitignore
:
bin
obj
packages
我让一些新开发人员将他们的 OBJ 和 Bin 文件签入存储库。 即使我有 gitignore 来排除这些文件,它在我的本地存储库中也不起作用。
我执行了以下操作来解决此问题
如果存储库中还有其他用户特定文件,例如:Visual studio 中的 .suo 完成上述操作后,您可以将它们添加到 gitignore 文件中。
我在浪费了一点安静的时间后发现了这一点,希望这对处于同一场景的人有所帮助。
bin
和 obj
文件夹如果您想在所有项目中忽略 bin 和 obj,那么您可以使用(来自 gitignore 手册页)
从配置变量 core.excludesfile 指定的文件中读取模式。
core.excludesfile 可以在配置文件中设置,在 Unix 中是 ~/.gitconfig - 我不知道它在 Windows 下的位置
@Raphael Pinel 绝对正确。 如果文件已在 Git 存储库中,.gitignore 将不起作用。
我使用 VS2019 和 Azure DevOps 作为我的 Git 存储库。 这是我修复它的方法。
在 Visual Studio 中,添加 .gitignore 文件(如有必要)并将该文件推送到存储库。
Team Explorer->Changes->Right Click
.gitignore->Stage.
然后提交暂存,然后同步。
访问 Azure DevOps 网站。
从 Git 存储库中删除 bin/obj 文件夹。
在 Visual Studio 中,
Team Explorer->Changes->"Undo Changes" to those folders.
Team Explorer->Synch->Pull to update local Git repository.
您现在可以构建项目,Git 将忽略 .gitignore 文件中指定的文件夹。
在我的例子中,bin 和 obj 文件夹嵌套在根 .gitignore 文件的 Project 文件夹下,所以我必须像下面这样添加它:
[PROJECT_FOLDER_NAME]/bin
[PROJECT_FOLDER_NAME]/obj
将 PROJECT_FOLDER_NAME 替换为您的项目文件夹名称
在大型项目中,通常有多个 bin 或对象文件夹。所以,你可以使用
**/bin/
**/obj/
忽略所有 bin 和对象文件夹。