点击IntelliJ的Annotate功能出现Git标注行数与文件行数不符警告
单文件Git标注不匹配问题解决方案
报错原文:
number of lines annotated by git is not equal to number of lines in the file. Check file encoding and line separators
该问题为JetBrains系IDE(包括IntelliJ、Android Studio等)的Git标注校验逻辑触发,仅单个文件报错、其余文件功能正常时,说明是该文件本地存储的格式与Git索引中记录的格式存在差异,可按以下步骤依次排查解决:
- 修正行分隔符:打开报错文件,查看IDE右下角的行分隔符标识,修改为和项目仓库统一的行分隔符格式(跨平台项目通常统一为LF,Windows单端项目可使用CRLF),修改后保存文件重试。
- 统一文件编码:同样在IDE右下角切换文件编码为项目统一编码(绝大多数场景为UTF-8),保存后重试。
- 刷新Git文件缓存:在项目根目录执行如下命令更新Git对该文件的缓存记录,无需提交即可重试标注功能:
注意:该操作仅清除Git对该文件的索引缓存,不会删除本地文件或改动本地修改git rm --cached <替换为该文件的相对路径> git add <替换为该文件的相对路径> - 重置文件版本:如果以上操作均无效,可先将该文件的本地修改暂存/提交后,执行
git checkout HEAD -- <替换为该文件的相对路径>回滚到当前分支最新版本,再重新应用修改即可。
内容的提问来源于stack exchange,提问作者Ahmad Albatsh
相关产品推荐
相关产品推荐

