神秘的git分支称为' Icon'

时间:2016-02-10 14:58:20

标签: git macos

我正在研究OSX Yosemite。我似乎有一个名为Icon的分支,我当然没有刻意创建:

$ git branch
Icon
* master

但如果我尝试删除它,则找不到分支:

$ git branch -D Icon
error: branch 'Icon' not found.

同样,我无法检查出来:

$ git checkout Icon
error: pathspec 'Icon' did not match any file(s) known to git.

到底是怎么回事?

2 个答案:

答案 0 :(得分:2)

这不是分支。图标?文件由适用于OS X的Google云端硬盘同步客户端自动创建,特别是在您使用Git时会很痛苦。当您创建repo(或克隆它)时,OS X会自动放置一个Icon吗?文件在每个目录中,包括.git / branches目录:

$ ls .git/branches/
Icon?

有关详情,请参阅以下相关主题:How to ignore Icon? in git https://productforums.google.com/forum/#!topic/drive/6SIZ7nhNO4w

答案 1 :(得分:0)

检查您的回购是否状况良好:

git fsck --full

这将验证您的存储库的完整性。

.git/refs/heads

如果此命令完成后您仍未发现任何问题(未报告错误),请检查您的本地.git/refs/heads中存储了哪些分支。

Git每个分支存储分支信息(分支名称文件中的SHA-1)。如果您看到名为Icon的文件,则只需删除它。

.git/packed-refs

编辑.git/packed-refs;如果您看到包含您的分支名称(Icon)的行,则将其删除

enter image description here

尝试将本地仓库与远程仓库同步

git fetch --all --prune

这将下载新的分支数据,并将删除所有已删除的远程信息(分支,标签等)。

enter image description here

git remote prune origin

与上面使用--prune标志的提取相同。也将从本地删除任何已删除的数据。