# 行尾规则（2026-10-03）
#
# 🔴 默认：所有文本文件一律 **LF**，且**检出/还原时也不许转成 CRLF**。
#
# 为什么必须写死：本机 `core.autocrlf=true`。不写这条的话，任何一次 git 检出/还原
# （`git stash pop`、`git checkout`、`git restore`…）都会把源码变成 CRLF。
# 而部署打包取的是**工作树**，于是包里带着 CRLF 上去，部署脚本里那些
# `grep -qxF '<整行 CSS 选择器>'` 的校验在 Linux 上一条都匹配不到 ——
# 症状是「本地全绿、部署却卡在一条莫名其妙的 CSS 断言上」，代码本身完全没问题。
# （本轮实测踩到：一次 git stash 往返就把 6 个文件全变成了 CRLF。）
* text=auto eol=lf

# 第三方库原样保存：不做任何行尾转换（字节与上游一致，便于日后核对是否原版）。
# ⚠️ 这几条**必须排在 `*` 之后** —— gitattributes 是"后面的规则覆盖前面的"，
#    写在前面会被上面那条 `* text=auto eol=lf` 顶掉（本轮当场抓到一次）。
# ⚠️ 除了 -text 还要**显式 unset eol**：-text 只关掉"文本规范化"，
#    上面那条 `*` 里设的 `eol=lf` 仍会挂着（`git check-attr` 可见），
#    换行策略由哪个属性说了算会变得含糊。
assets/vendor/** -text -eol
*.min.js -text -eol
*.min.css -text -eol