大风天_头像
TortoiseGit 仓库不显示绿色对号解决方案封面图

TortoiseGit 仓库不显示绿色对号解决方案

最近使用 TortoiseGit 时遇到了一个小问题:仓库已经初始化,右键菜单也能正常使用,但文件和文件夹左下角一直没有状态图标。

正常情况下,没有修改的文件会显示绿色对号,修改过的文件会显示红色感叹号。我这里两种图标都没有,最后通过调整注册表中的排列顺序解决了,记录一下处理过程。

先确认仓库是否正常

在仓库目录打开 Git Bash,在已经初始化的仓库,右键Open Git Bash here执行:

git status

我这里能正常显示当前分支,也能识别出修改过的文件,说明 Git 可以正常读取仓库。接下来就主要检查 TortoiseGit 的图标显示设置。

需要注意,如果只是刚初始化仓库,文件还没有加入版本管理,也不能直接用“有没有绿色对号”来判断是否正常。

检查 TortoiseGit 设置

在文件夹空白处右键,进入:

TortoiseGit → 设置 → 图标覆盖

主要检查下面几项:

  • 状态缓存选择“默认”。

  • 勾选“本地硬盘”。

  • “排除路径”里没有自己的仓库目录。

我这里这几项都是正常的,不过在“覆盖处理器”页面看到了一条提示:除了 Tortoise,还有 16 个已安装的图标覆盖。

看到这里,基本就有排查方向了。

调整注册表中的图标优先顺序

按 Win + R,输入:

regedit

打开注册表编辑器,进入下面的位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

我这里可以看到,OneDrive 和 WorkspaceExt 的一大批项目排在前面,Tortoise 的项目排在后面。

Windows 能加载的覆盖图标数量有限,前面的项目占用名额后,后面的就可能无法显示。TortoiseGit 官方 FAQ 也提到了这种情况,可以通过在项目名称前添加空格,提高排列优先级。

修改前,先右键 ShellIconOverlayIdentifiers,选择“导出”,保存一份备份。

然后找到这三个项目:

Tortoise1Normal
Tortoise2Modified
Tortoise3Conflict

分别按 F2 重命名,在每个名称前面增加几个英文半角空格。我这里加了 6 个(如果6个还不能移动到前面,再继续增加)然后按F5刷写,或者重新打开注册表,修改后类似这样:

    Tortoise1Normal
    Tortoise2Modified
    Tortoise3Conflict

关键是刷新或重新打开注册表后,确认它们排到了 OneDrive、WorkspaceExt 等项目前面。

这里只修改左侧项目名称,右侧的值保持原样,其他软件的项目也不用删除。

重启后恢复正常

修改完成后重启电脑,再打开仓库目录,状态图标就恢复了。

因为我当时还有一个文件没有提交,所以显示的是红色感叹号,这也是正常的。绿色对号表示文件已经纳入版本管理,并且当前没有修改。

如果还想显示更多状态,可以按需把下面三个项目也调整到前面:

  • Tortoise6Deleted:删除状态。

  • Tortoise7Added:新增文件已暂存、尚未提交的状态。

  • Tortoise9Unversioned:未跟踪标记

日常使用的话,先保证正常、修改、冲突这三个图标能显示就够了,不需要把所有项目都往前移。

这次遇到的问题,调整注册表排序后就解决了。如果你也是右键菜单正常、Git 状态正常,但文件一直没有小图标,可以检查一下这里。

参考:TortoiseGit 官方 FAQ

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/m0_62648611/article/details/169168201

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--