仓级:加 .gitattributes,把行尾符钉死成 LF
仓库原先没有 .gitattributes,各台机器的 core.autocrlf 各行其是 —— 本地工作副本被转成 CRLF、仓库里存的却可能是 LF,于是本地一改 git diff 就显示成整文件改动、合并时整个文件粘成一个冲突块(实测:某个文件表面冲突 758 行,忽略行尾符后真实差异只有 2 行)。 默认 `* text=auto eol=lf`,再对文本类逐类显式声明;.bat/.cmd 保留 CRLF; 图片、字体、压缩包、音视频、数据库文件一律 binary。 .gitignore 里放行 /.gitattributes —— 它跟 .gitignore 一样是仓级规则, 必须入库,否则别的机器取仓后仍按各自 core.autocrlf 各行其是。
This commit is contained in:
1 parent
d9445b5888
commit
cf0ec41245
2 files changed
+68
No files matched your search
@@ -0,0 +1,65 @@
|
||||
# 行尾符钉死策略(2026-10-14 立)
|
||||
#
|
||||
# 为什么要这份文件:仓库原先没有它,各台机器的 `core.autocrlf` 各行其是
|
||||
# ⇒ 同一份文件在不同机器上是 CRLF 或 LF,本地一改 `git diff` 就显示成整文件改动,
|
||||
# 合并时整个文件粘成一个冲突块、没法逐行解(实测:某文件表面冲突 758 行,
|
||||
# 忽略行尾符后真实差异只有 2 行)。
|
||||
# ⇒ 这里把默认与逐类都钉成 LF,让入库形态与工作副本一致。
|
||||
|
||||
# 默认:交由 git 判定是否文本;文本一律以 LF 入库
|
||||
* text=auto eol=lf
|
||||
|
||||
# 文本类显式声明(避免 `text=auto` 的启发式误判)
|
||||
*.md text eol=lf
|
||||
*.markdown text eol=lf
|
||||
*.txt text eol=lf
|
||||
*.py text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.bash text eol=lf
|
||||
*.ps1 text eol=lf
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.json text eol=lf
|
||||
*.yaml text eol=lf
|
||||
*.yml text eol=lf
|
||||
*.toml text eol=lf
|
||||
*.ini text eol=lf
|
||||
*.cfg text eol=lf
|
||||
*.env text eol=lf
|
||||
*.example text eol=lf
|
||||
*.css text eol=lf
|
||||
*.scss text eol=lf
|
||||
*.html text eol=lf
|
||||
*.htm text eol=lf
|
||||
*.js text eol=lf
|
||||
*.mjs text eol=lf
|
||||
*.cjs text eol=lf
|
||||
*.ts text eol=lf
|
||||
*.tsx text eol=lf
|
||||
*.jsx text eol=lf
|
||||
*.svg text eol=lf
|
||||
|
||||
# 二进制:禁止任何转换与 diff
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.webp binary
|
||||
*.ico binary
|
||||
*.bmp binary
|
||||
*.ttf binary
|
||||
*.otf binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
||||
*.eot binary
|
||||
*.pdf binary
|
||||
*.zip binary
|
||||
*.gz binary
|
||||
*.tar binary
|
||||
*.jar binary
|
||||
*.mp3 binary
|
||||
*.mp4 binary
|
||||
*.webm binary
|
||||
*.mov binary
|
||||
*.db binary
|
||||
*.sqlite binary
|
||||
@@ -8,6 +8,9 @@
|
||||
# ══════════════════════════════════════════════════════════════════════════
|
||||
/*
|
||||
!/.gitignore
|
||||
# 🔴 2026-10-14 加:行尾符策略文件。它跟 `.gitignore` 一样是**仓级规则**,必须入库 ——
|
||||
# ⛔ 不入库的话别的机器取仓后仍按各自 `core.autocrlf` 各行其是,本仓的行尾符约定形同虚设。
|
||||
!/.gitattributes
|
||||
!/改包纪律.md
|
||||
!/browser-harness/
|
||||
!/humanizer/
|
||||
|
||||
Reference in new issue
Block a user