在 Mac OS X 上使用 Git 对 Word .docx 文件和 docx2txt 进行版本控制

问题描述 投票:0回答:2

Git
网站上有关于使用
.doc
控制 Microsoft Word
catdoc
文件的详细说明。

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

但是,我意识到这不适用于

.docx
文件。看来您需要
docx2txt
unoconv
而不是
catdoc
在此处找到)。我无缘无故地决定使用
docx2txt
,但我在将
docx2txt
安装到 Mac OS X 时陷入困境。

说明了这些步骤。根据我的理解,您所需要的只是在某个合理的地方

docx2txt.pl
。我以为
/usr/local/bin/
就可以了。我把它复制到那里。然后,根据说明,我尝试了以下方法:

$ 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

有人有什么建议吗?

macos git terminal ms-word installation
2个回答
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 比较的 Git 属性

echo "*.doc diff=word" >> .gitattributes
git config diff.word.textconv strings

0
投票

我在我的Mac M1 上使用brew 下载docx2txt。我搜索原始文件下载的路径 /opt/homebrew/Cellar/docx2txt/1.4/bin 在那里找到了文件。 bin 目录中有两个可执行的 .sh 和 .pl 扩展文件。我运行 docx2txt.sh 文件并构建 docx2txt 文件。在文件转换过程中,您不必像提到的某些指令那样给出 lt 和 gt 符号,我认为如果您使用的是 linux/Unix,则一切都应该相同。最后一个命令应该像这样简单(docx2txt input.docx output.txt)。

© www.soinside.com 2019 - 2024. All rights reserved.