在互联网上可以找到几篇教程([1],[2],[3]),建议使用以下配置来对 git
追踪的 Word 文档进行差异比较。
Configure a "pandoc" diff driver with the following settings:
[diff "pandoc"] textconv=pandoc --to=markdown prompt = false
Add the following to your
.gitattributes
file:*.docx diff=pandoc
除了在指示将其添加到git存储库后尝试对未跟踪的Word文档进行差异化之外,这似乎运行良好。 有人知道为什么在这种情况下无法正常工作吗?
以下是重现步骤,假设已详细说明上述配置。
Create a Word document in a git repository
touch my_document.docx
Open the file in Microsoft Word, add some content to the Word document (e.g, the characters "asdf"), and save it
Indicate your intent to add the document
git add -N my_document.docx
Try to see the diff:
git diff my_document.docx #> couldn't parse docx file #> fatal: unable to read files to diff
在macOS上,使用git
版本2.17.1时,我遇到了“fatal: unable to read files to diff”的错误。不过,只需将文件添加到索引中,然后运行git diff --cached
,即可得到以下差异:
diff --git a/my_document.docx b/my_document.docx
new file mode 100644
index 0000000..17f1b0d
--- /dev/null
+++ b/my_document.docx
@@ -0,0 +1 @@
+asdf
为什么diff驱动程序不能与
git add -N
一起使用?
diff
运行文件,因此进行文本比较。 - orhtej2pandoc --to=markdown /dev/null
和touch my_document.docx && pandoc --to=markdown my_document.docx
之间的差异造成的。您是否想将您的评论扩展为答案? - Adam Liter