我的存储库中有一个png图标,在将其推到远程后损坏。使用git check-attr
我发现git将其视为文本文件,因此根据存储库的.gitattributes
将其行尾转换为lf。
有办法恢复原始文件吗?
最佳答案
遗憾的是,似乎不可能检索到“autocrlf
ed”文件的原始版本,只要历史中没有未接触过的文件版本(意味着没有使用过autocrlf
)。
git用unix风格的行结尾(core.autocrlf
)替换所有出现的windows行结尾(true
)。在此之后,无法确定哪些\r\n
字节曾经被编码为\n
字节。
因此,我不得不得出结论,恢复文件是不可能的。
这是避免\n
和自己处理行结尾的原因。一般来说,我建议避免使用\r\n
;有关此主题的更多信息可以在here中找到。