如何告诉Git,settings.html是文本而不是二进制文件

3

Win7,git 1.8.3.1(来自git-scm.org)。

我有一个settings.html文件,但git认为它是二进制的。当我在分支之间进行diff时,我看到:

[master]> git diff master work2
diff --git a/settings.html b/settings.html
index 2e46976..620dff4 100644
Binary files a/settings.html and b/settings.html differ

我已经尝试过保存、提交和推送settings.html文件:

  • Unicode (UTF-8带签名) - Codepage 65001
  • UTF-8,没有签名
  • US-ASCII代码页20127

但是,没有成功;git认为这个html文件是二进制的。
我该如何让git把这个文件以及所有的html文件都视为文本?
(我怀疑是VS2012搞得鬼,但项目中的其他html/css/js文件都被视为文本。)

非常感谢您提供的任何见解...


3
为什么不先尝试谷歌一下呢?这样可以告诉Git该文件是文本而非二进制文件,建议先搜索相关内容。 - Nevik Rehnel
1个回答

6
请在您的代码库根目录下创建名为.gitattributes的文件,并将以下内容添加进去:
*.html text

更多相关信息请查看gitattributes(5)


我相信.git属性中的“text”会影响行尾。当我进行更改并将文件编码更改为UTF-8时,我收到了以下消息:“git diff fatal: CRLF would be replaced by LF in settings.html.” 我已经设置了“core.autocrlf=false”。更改autocrlf似乎解决了这个问题。 - Number8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接