我的存储库中有一个PNG图标,推送到远程后变得损坏了。使用 git check-attr 命令我发现git把它当作文本文件处理,并根据存储库的 .gitattributes 文件将行结束符转换为LF。 有没有办法恢复原始文件?
很遗憾,似乎无法检索 "autocrlf" 文件的原始版本,除非历史记录中存在未更改过的文件版本(即没有使用 autocrlf)。当 core.autocrlf 设置为 true 时,Git 将所有 Windows 换行符(\r\n)替换为 Unix 风格的换行符(\n)。此后,无法确定哪些 \n 字节曾经被编码为 \r\n 字节。因此,我不得不得出结论,无法恢复该文件。这就是避免使用 autocrlf 并自己处理行尾的原因。总的来说,我建议避免使用 autocrlf;有关此主题的更多信息,请参见此处。
\r\n
)转换为Unix风格的行尾(\n
),现在你无法知道哪些\n
字节曾经是\r\n
。 - Sascha Wolf.git
里面有一种缓存机制,可以保留原始文件吗? - danijar