我可以让git将UTF-16文件识别为文本吗?我在git中跟踪虚拟PC虚拟机文件(* .vmc),在进行更改后,git将该文件识别为二进制文件并且不会为我进行区分。我发现该文件是用UTF-16编码的。可以教git识别这个文件是文本并适当处理它吗?我在Cygwin下使用git,core.autocrlf设置为false。如果需要,我可以在UNIX下使用mSysGit或git。
3 回答
MM们
TA贡献1886条经验 获得超2个赞
我一直在努力解决这个问题,并且刚刚发现(对我来说)一个完美的解决方案:
$ git config --global diff.tool vimdiff # or merge.tool to get merging too!
$ git difftool commit1 commit2
git difftool采用相同的参数git diff,但运行你选择的diff程序而不是内置的GNU diff。因此,选择一个多字节识别差异(在我的情况下,vim在diff模式下),而只是使用git difftool而不是git diff。
找到“difftool”太长,无法输入?没问题:
$ git config --global alias.dt difftool
$ git dt commit1 commit2
Git岩石。
POPMUISE
TA贡献1765条经验 获得超5个赞
git最近开始理解utf16这样的编码。请参阅gitattributes文档,搜索working-tree-encoding
[确保您的手册页匹配,因为这是一个全新的!]
如果(比方说)文件是在Windows机器上没有bom的utf-16那么添加到你的gitattributes文件
*.vmc text working-tree-encoding=UTF-16LE eol=CRLF
如果* nix上的utf-16(带有bom)就可以了
*.vmc text working-tree-encoding=UTF-16 eol=LF
- 3 回答
- 0 关注
- 998 浏览
添加回答
举报
0/150
提交
取消