Git版本控制下查看.docx文件的差异
首先需要安装docx2txt,余下载时版本v1.4。下载后按照INSTALL文件所述安装,安装完成后,docx2txt.pl和docx2txt.sh文件被安装到/usr/local/bin中。
新建一个名为docx2txt的脚本文件,它的内容如下:
#!/bin/bash
docx2txt.pl $1 -
记得更改这个文件的权限:
chmod a+x docx2txt
然后把文件移到/usr/local/bin中。
新建一个文件夹worddiff,并纳入git控制:
mkdir worddiff
cd worddiff
git init
// 创建my_file.docx,并添加一些内容,然后
git add my_file.docx
// 提交
git commit -m "Initial commit"
对my_file.docx添加一些内容,此时运行git diff你会发现看不出差别
diff --git a/my_file.docx b/my_file.docx
index db8cc51..5673e8b 100644
Binary files a/my_file.docx and b/my_file.docx differ
你需要告诉Git怎样比较非纯文本文件的差异。
设置.gitattributes:
echo "*.docx diff=word" > .git/info/attributes
添加下面配置到~/.gitconfig中:
[diff "word"]
binary = true
textconv = docx2txt
# add a new alias
[alias]
wdiff = diff --color-words
运行
git wdiff my_file.docx
出现了可以阅读的结果:
index db8cc51..f4ce9aa 100644
--- a/my_file.docx
+++ b/my_file.docx
@@ -1 +1,2 @@
diffDiff docx
Hello
参考文档: