`
songkang666
  • 浏览: 103070 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Git step by step 12 之二进制文件

    博客分类:
  • GIT
 
阅读更多
二进制文件的识别
很多文件都会被Git自动识别为二进制文件,如doc,jpg等。
在进行git diff 操作时(当前工作目录与暂存区的内容不相同时),会有类似于下面的显示:
git diff
diff --git a/what.doc b/what.doc
index xxxxxxxxxx 100644
Binary files a/what.doc and b/what.doc differ


git diff
diff --git a/png.jpg b/png.jpg
index b6884cd..a2bd99b 100644
Binary files a/png.jpg and b/png.jpg differ

所以Git对于二进制文件是有识别能力的,且能鉴别二进制文件有没有被修改。

但是想要具体的显示出什么地方被改了,还需要Git属性的设置,并借助于一些外部工具。
像识别.doc文件时,可以先在工作目录(的根目录)中建立.gitattributes文件,用于Git属性
的设置。
然后再用git config XXX向.git/config文件时写一些配置参数。

自定义 Git - Git属性 里有相应的介绍。
(它的英文版本介绍的更详细些: Customizing Git - Git Attributes)(注意反强)
其中介绍说,操作分两步:
1、在.gitattributes文件中添加 *.doc diff = word,意思是在处理以.doc为后缀的文件时用word过滤器(这是个什么东西?)进行处理。
2、git config diff.word.textconv strings,意思是用strings(/usr/bin/strings)外部工具将word文档转变成text文本文件。
然后再git diff时,会显示哪一行被修改了。

可是,可是,按照这个方法有点行不通,换了几个版本库进行实验,结果都git diff不出来任何东西,甚至是在不进行配置时的differ信息也没了,坑爹。或许是版本问题,抽空看一下README在这一方面改动的介绍。

此外,像png所用到的外部工具exiftool,apt-get install时也搜不到的。


more:
Versioning Word Documents In Git
windows下cygwin中Git diff Word documents(这个看上去好像可以)
自定义 Git
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics