我希望在我的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 文件,该文件将忽略大多数常用的文件夹和文件,这些文件夹和文件将被框架/语言使用。
git rm -rf obj
或 git rm -rf yourProject/obj
然后再提交删除操作。我发现一些新的开发人员将他们的OBJ和Bin文件提交到了代码库,尽管我使用了Git ignore来排除这些文件,但在我的本地代码库中并没有生效。
以下是我解决这个问题的步骤:
如果您还有其他用户特定的文件也在代码库中,例如Visual Studio中的.suo文件,您可以在上述操作后将它们添加到Git ignore文件中。
在浪费了相当多的时间后,我找到了这个解决方法,希望能够帮助遇到同样问题的人。
尝试添加不想要的文件夹名称,Git 将从指定的根目录开始不再采用这些更改。对我而言,将这些文件夹名称添加到.gitignore
中可行:
bin
obj
packages
bin
和obj
文件夹在Unix系统中,可以在配置文件~/.gitconfig中设置core.excludesfile,但我不知道在Windows下该文件位于何处。从由配置变量core.excludesfile指定的文件中读取模式。
@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 文件中指定的文件夹。
obj
和bin
忽略掉,这样就可以忽略所有下一级目录中名为obj
或bin
的文件夹。 - CB Bailey