git · Git
报错原文
The file will have its original line endings in your working directory
这是什么意思
这是上面那条 CRLF 提示的后半句:它说磁盘上的文件保留它现有的行尾,只有存进提交的那份副本被规范化。它来自同一个 autocrlf 设置,本身没有任何东西坏掉。但如果 diff 里整个文件都显示被改过,那就是团队里行尾不一致的信号:在仓库里放一个 .gitattributes 把规则钉住,再跑一次 git add --renormalize .。这条命令只改写行尾的存储方式,不改文件内容。
怎么修
这个没有一行命令能解决。说明里写了该看哪里。
- 来自
- git
- Git
- 29
git 的错误几乎都是一种拒绝,意思是「在当前状态下做那件事会丢掉东西」;fatal: 表示它什么都没改就停了,而真正的解决办法往往在第一行下面的 hint: 行里。
怎么读报错
- 从第一行往下读。越往下越是工具内部的事,起因通常写在最上面。
- 有文件名和行号就从那里查——不是栈顶那一帧,而是最上面那条提到你自己写的文件的行。
- 把报错原文照样去搜,但先去掉你自己的路径和变量名,正是那些让搜索匹配不上。
- 同一种情况在不同版本里措辞不同。结果不对头,就把版本号一起加进查询。
- 粘贴修法之前,先确认它会丢掉什么。这里面有些是不能撤回的。
常见问题
Q. “The file will have its original line endings in your working directory” 是什么意思?
这是上面那条 CRLF 提示的后半句:它说磁盘上的文件保留它现有的行尾,只有存进提交的那份副本被规范化。它来自同一个 autocrlf 设置,本身没有任何东西坏掉。但如果 diff 里整个文件都显示被改过,那就是团队里行尾不一致的信号:在仓库里放一个 .gitattributes 把规则钉住,再跑一次 git add --renormalize .。这条命令只改写行尾的存储方式,不改文件内容。
Q. 怎么修?
没有一行命令能解决。上面的说明写了该看哪里。
Q. 这是哪个工具报的?
git。它属于Git,报错原文有 12 个词。
相关报错
warning: LF will be replaced by CRLF in package.json.githusky - pre-commit hook exited with code 1 (error)huskyfatal: refusing to merge unrelated historiesgitYour branch and 'origin/main' have divergedgitfatal: Need to specify how to reconcile divergent branches.gitCONFLICT (content): Merge conflict in src/app.tsxgitPlease commit your changes or stash them before you merge.giterror: Your local changes to the following files would be overwritten by checkout:git