首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以让git将UTF-16文件识别为文本吗?

我可以让git将UTF-16文件识别为文本吗?
EN

Stack Overflow用户
提问于 2009-04-22 15:51:32
回答 3查看 71.6K关注 0票数 157

我在git中跟踪一个Virtual PC虚拟机文件(*.vmc),在进行了更改后,git将该文件识别为二进制文件,并且不会为我区分它。我发现这个文件是用UTF-16编码的。

可以教git识别这个文件是文本并适当地处理它吗?

我在Cygwin下使用git,并将core.autocrlf设置为false。如果有必要,我可以在UNIX下使用mSysGit或git。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-19 15:55:47

我已经在这个问题上挣扎了一段时间,(对我来说)刚刚发现了一个完美的解决方案:

代码语言:javascript
复制
$ git config --global diff.tool vimdiff      # or merge.tool to get merging too!
$ git difftool commit1 commit2

git difftool采用与git diff相同的参数,但运行的是您选择的不同程序,而不是内置的GNU diff。所以选择一个多字节感知的diff (在我的例子中,在diff模式下是vim ),并且只使用git difftool而不是git diff

发现"difftool“太长而不能输入?没问题:

代码语言:javascript
复制
$ git config --global alias.dt difftool
$ git dt commit1 commit2

Git太棒了。

票数 92
EN

Stack Overflow用户

发布于 2009-04-22 16:42:23

您是否已尝试将.gitattributes设置为将其视为文本文件?

例如:

代码语言:javascript
复制
*.vmc diff

更多细节请访问http://www.git-scm.com/docs/gitattributes.html

票数 43
EN

Stack Overflow用户

发布于 2013-04-02 16:37:01

我已经写了一个小的git-diff驱动程序,to-utf8,它应该可以很容易地比较任何非ASCII 8编码的文件。您可以使用此处的说明进行安装:https://github.com/chaitanyagupta/gitutils#to-utf8 ( to-utf8脚本可以在相同的代码库中找到)。

请注意,此脚本要求fileiconv命令在系统上均可用。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/777949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档