我有一个文件在我的Git存储库中有多个提交,它是用于Windows的16位Unicode(UCS-2)编码.
因此,Git认为它是一个二进制文件,而不是文本文件,我看不到不同提交所做的更改.
有没有办法将该文件追溯转换为UTF-8,即重建历史记录,就像文件一直是UTF-8一样,我一直把它作为UTF-8文件提交,而不是16位Unicode文件?
要追溯重新编码文件,请使用git filter-branch
:
git filter-branch --tree-filter 'recode utf-16..utf-8 file'
Run Code Online (Sandbox Code Playgroud)
如果你没有recode
,请改用更长的iconv -f utf-16 -t utf-8 file -o file
.如果该文件在早期版本的树中不存在,则可能需要追加,|| true
以便重新编码命令不会失败,并可选择抑制错误输出.
归档时间: |
|
查看次数: |
1221 次 |
最近记录: |