Git 不断添加 bin 和 obj 文件,即使有一个 ignorefile

Git keeps adding bin and obj files even though there is an ignorefile

我一直在研究 POC,现在被要求将其上传到我们的 GitHub。我已经这样做了,但今天我注意到包含了 binobj 文件夹。

所以我打开了我的 .gitignore 文件来检查我是否添加了 Visual Studio 配置文件。它是..我可以看到 [Bb]in/[Oo]bj/ 包括在内。

所以我尝试通过键入以下内容从 Git 中删除文件夹:

git rm --cached -r [folder]/bin

这样做之后,我看到所有 *dll 都被删除了,我检查了团队资源管理器并注意到文件都被删除了。

提交并重建以查看返回的所有 bin 文件...

它不仅仅是解决方案中的一个项目。似乎他们都在这样做。我的 .gitignore 文件位于我的解决方案的根目录中。以及 .git 文件夹。 Screen shot of folder structure.

关于我在这里遗漏的任何想法?

我的 .gitignore 是这个 here

的精确副本

我还原了我的 **/[Bb]in/ 更改,看看我是否破坏了什么。

git ignore 忽略尚未被跟踪的文件,因此如果文件已提交,它将再次出现。

你可以试试:

git rm -r --cached . 
git add .

然后

git commit -am "Remove ignored files"

按照建议here

或采取更激进的方法:

  • 删除 rm
  • 的文件
  • 然后重置 .git 目录(删除它,然后用 git init 重新初始化它)
  • 创建一个新的远程分支
  • 推送到新分支
  • 如果一切正常,则与平均分支合并。

如果您已经提交了一些您现在想要忽略的内容,您必须使用 git rm --cached <files>

告诉 git 从其索引中删除这些文件

您还需要确保您的 .gitignore 文件中包含以下内容:

bin/    # ignore bin directory
*.obj   # ignore any files with .obj postfix

添加您的提交:

 Ignore bin/ directory and any *.obj files

就我而言,即使删除 .git 并创建一个新的存储库,他也没有忽略它。问题出在我的.git忽略,是utf16的,我换成utf8问题解决了!