新增 .gitattributes 把文本文件钉死为 LF:否则 git 在 Windows 的 autocrlf 会把仓库的 LF 转成工作区 CRLF,与 ruff format 的 line-ending=auto 互相打架, 每次格式化都在改行尾。