Git “如何修复”;警告:忽略名称已断开的引用;用吉特?

Git “如何修复”;警告:忽略名称已断开的引用;用吉特?,git,Git,我在做OSX。在特定的回购协议中,每当我键入git命令后单击tab自动完成时: $ git diff [clicks tab...] 我现在看到大量警告: warning: ignoring ref with broken name refs/Icon warning: ignoring ref with broken name refs/heads/Icon warning: ignoring ref with broken name refs/remotes/Icon warning: i

我在做OSX。在特定的回购协议中,每当我键入git命令后单击tab自动完成时:

$ git diff [clicks tab...]
我现在看到大量警告:

warning: ignoring ref with broken name refs/Icon
warning: ignoring ref with broken name refs/heads/Icon
warning: ignoring ref with broken name refs/remotes/Icon
warning: ignoring ref with broken name refs/remotes/origin/Icon
warning: ignoring ref with broken name refs/tags/Icon
这真的很烦人,这意味着我看不到我想看到的文件名

如何删除或抑制这些警告

我在我的
gitignore
文件中有一个
图标的条目。本地目录中有一个
图标?
文件


对于所有喜欢触发的人,我会点击“复制”:我已经搜索了其他答案,但我不确定这与我的情况有什么关系。可能根本原因是相同的,但解释一下如何解决这个问题对我和其他人都有好处

图标\r
文件是由Mac OS在安装时创建的

如何删除或抑制这些警告

您需要删除有问题的文件本身

我有一个图标的条目?在我的gitignore文件中

这没什么区别。
.gitignore
在工作目录上工作;这些文件位于Git存储元数据的存储库文件夹中
.gitignore
不适用于此处。Git把它们误认为是分支名称

若要解决此问题,您可以删除给文件夹的自定义图标。但如果没有,则需要从
.git
文件夹下删除文件。您可以在Finder中(打开“显示隐藏文件”后)或从命令行执行此操作:

rm .git/refs/Icon?

尝试此操作之前,请确保备份您的存储库,因为更改
.git
文件夹中的内容可能会损坏您的存储库。

我想知道这是否是OSX不区分大小写文件系统的结果。图标/图标之间是否存在冲突?你可以尝试
git update ref-d
去核化其中一个你没有同样的问题(这很有趣),但是链接问题的解决方案是一样的:在备份你的repo之后,小心地删除有问题的文件。我运行了一个脚本,基本上在每个目录中都放了一个文件,其中有一个目录列表。我在根目录下做了这件事,并且必须运行它来修复它,这基本上与上面的命令做了相同的事情,但是如果你像我一样自动化你的灾难,速度会更快
find.git/-iname“my directory list.txt”-删除