2013-05-03 79 views
0

我试图用git来处理一个.ttx文件(带源(英文)字符串和目标(西班牙文)字符串和大量元数据的双语.xml翻译文件)作为一个二进制文件,所以它不会读出diff,除了我更改的文件之外。我在我的.gitattributes文件中添加了“* .ttx txt”,但仍然没有按照我想要的方式运行。有任何想法吗?git中的.ttx文件的差异

+2

你有没有试过'git diff -a foo.ttx'? 'git diff'的'-a'参数强制'git'将所有文件视为文本。 – Tuxdude 2013-05-03 16:34:20

+0

@Tuxdude没有工作 - 只是在我的Git Bash窗口中出现一堆乱码。然而,我确实回答了我自己的问题。这些文件被编码为UTF-16LE,git将它们视为二进制文件。文件编码的UTF-16编码最容易用外部差异工具进行区分。我使用p4merge,因为它是免费且易于安装的。 [链接](https://gist.github.com/tony4d/3454372)在Mac和[链接](http://stackoverflow.com/questions/426026/git-on-windows-how-do-you-set -up-a-mergetool)。 – user2347638 2014-01-15 18:50:56

+0

@ user2347638比制定这个答案并接受它。 Stackoverflow的做法。 – openCage 2014-06-25 07:09:30

回答

0

这些文件被编码为UTF-16LE,Git将它们视为二进制文件。用UTF-16编码的文件最容易与外部差异工具区分开来。我使用p4merge,因为它免费且易于设置。