即使有一个ignorefile,Git仍然会添加bin和obj文件

时间:2017-01-12 01:23:58

标签: git gitignore

我一直在研究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文件复制到项目文件夹中。没有工作
  • 我尝试添加**/[Bb]in/& **[Bb]in/ ..没有变化。

关于我在这里缺少什么的想法?

我的.gitignore是此here

的精确副本

我恢复了我的**/[Bb]in/更改,看看我是否破坏了某些内容。

3 个答案:

答案 0 :(得分:3)

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

你可以尝试:

git rm -r --cached . 
git add .

然后

git commit -am "Remove ignored files"

建议here

或采取更激进的方法:

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

答案 1 :(得分:0)

如果您已经提交了现在要忽略的内容,则必须告诉git使用const keys = [1, 2, 3 ,4]; const value = 0; console.log( keys.reduce((acc, key) => (acc[key] = value, acc), {}) );从它们的索引中删除这些文件

您还需要确保git rm --cached <files>文件中包含以下内容:

.gitignore

添加您的提交:

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

答案 2 :(得分:0)

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