我在git中跟踪虚拟PC虚拟机文件(*.vmc),在进行更改后,git将该文件识别为二进制文件并且不会为我进行区分.我发现该文件是用UTF-16编码的.
可以教git识别这个文件是文本并适当处理它吗?
我在Cygwin下使用git,core.autocrlf设置为false.如果需要,我可以在UNIX下使用mSysGit或git.
我想知道为什么git告诉我这个:?
$ git diff MyFile.txt
diff --git a/MyFile.txt b/MyFile.txt
index d41a4f3..15dcfa2 100644
Binary files a/MyFile.txt and b/MyFile.txt differ
Run Code Online (Sandbox Code Playgroud)
他们不是文本文件吗?
我检查了.gitattributes,它是空的.为什么我收到这条消息?我不能再使用差异了
添加:
我注意到@文件中有一个权限,这是什么?这可能是原因吗?
$ls -all
drwxr-xr-x 5 nacho4d staff 170 28 Jul 17:07 .
drwxr-xr-x 16 nacho4d staff 544 28 Jul 16:39 ..
-rw-r--r--@ 1 nacho4d staff 6148 28 Jul 16:15 .DS_Store
-rw-r--r--@ 1 nacho4d staff 746 28 Jul 17:07 MyFile.txt
-rw-r--r-- 1 nacho4d staff 22538 5 Apr 16:18 OtherFile.txt
Run Code Online (Sandbox Code Playgroud) 我有一些.sql文件,我只是第一次推送到github.但是当我查看提交时它会说:
BIN ????? WebRole/Sql/Database.sql View
Binary file not shown
Run Code Online (Sandbox Code Playgroud)
有人能告诉我它为什么说"二进制文件没有显示"
GNU diff似乎不够智能,无法检测和处理UTF-16文件,这让我感到惊讶.我错过了一个明显的命令行选项吗?有没有好的选择?
我尝试将其添加到.gitattributes:
* text=auto
*.sql diff
Run Code Online (Sandbox Code Playgroud)
但它仍然显示如下:
BIN ????? WebRole/Sql/Objects/dbo.Content.Table.sql ?
WebRole/Sql/dbo.Content.Table.sql Binary file not shown
Run Code Online (Sandbox Code Playgroud)
非常感谢这方面的帮助.