版本控制在Mac OS X上使用带有Git的docx2txt的Word .docx文件

时间:2014-03-05 06:24:39

标签: macos git terminal ms-word installation

Git网站上,有一个详细说明版本控制带有.doc的Microsoft Word catdoc文件。

http://git-scm.com/book/en/Customizing-Git-Git-Attributes

但是,我意识到这对.docx文件不起作用。您似乎需要docx2txtunoconv而不是catdocfound here)。我决定无条件地使用docx2txt,但我被卡在docx2txt安装到Mac OS X中。

This有点说明了这些步骤。根据我的理解,你所需要的只是docx2txt.pl在某个合理的地方。我以为/usr/local/bin/会这么做。我在那里复制了它。然后,根据the instruction,我尝试了以下内容:

$ cd /usr/local/bin/
$ echo '#!/bin/bash
docx2txt.pl "$1" -' > docx2txt

当我尝试这个时:

$ docx2txt

我得到了

Can't read docx file <>!

所以,docx2txt似乎在路径中。

然后我在存储库文件夹(ASCII,LF)中编辑了.gitattributes以添加以下行:

*.docx diff=wordx

然后,我还在存储库中编辑了.git / config文件,如下所示:

[diff "wordx"]
    binary = true
    textconv = docx2txt

因为存储库已经在使用,所以我没有git init。我在存储库中编辑了一个.docx Word文件,然后在终端中输入了git diff。但结果并不成功。

Binary files a/foo/foo.docx and b/foo/foo.docx differ

有人可以有任何建议吗?

1 个答案:

答案 0 :(得分:3)

感谢巴生,我做到了。现在我可以在Mac OS X(10.9)的Terminal.app中区分.docx文件。但是这个不能与SourceTree GUI无缝协作。下面与巴生基本相同,但略有修正。

http://docx2txt.sourceforge.net/下载并安装 docx2txt 转换器

wget -O doc2txt.tar.gz http://docx2txt.cvs.sourceforge.net/viewvc/docx2txt/?view=tar
tar zxf doc2txt.tar.gz
cd docx2txt/docx2txt/
sudo make

然后制作一个小包装脚本,使docx2txt输出到STDOUT

echo '#!/bin/bash
docx2txt.pl "$1" -' > /usr/local/bin/docx2txt
chmod +x /usr/local/bin/docx2txt

存储库中(Word).docx diffing 的Git属性

echo "*.docx diff=wordx" >> .gitattributes
git config diff.wordx.textconv docx2txt

如果不应该通过项目提交设置,请使用.git/info/attributes

(Word).doc diffing

的Git属性
echo "*.doc diff=word" >> .gitattributes
git config diff.word.textconv strings