Skip to content

Instantly share code, notes, and snippets.

@nachocab
Last active February 13, 2022 15:45
Show Gist options
  • Save nachocab/6429893 to your computer and use it in GitHub Desktop.
Save nachocab/6429893 to your computer and use it in GitHub Desktop.
How to make git diff work perfectly with .docx files in Mac OS X (it even colors by word)
# download docx2txt by Sandeep Kumar
wget -O docx2txt.pl http://www.cs.indiana.edu/~kinzler/home/binp/docx2txt
# make a wrapper
echo '#!/bin/bash
docx2txt.pl $1 -' > docx2txt
chmod +x docx2txt
# make sure docx2txt.pl and docx2txt are your current PATH. Here's a guide
http://shapeshed.com/using_custom_shell_scripts_on_osx_or_linux/
mv docx2txt docx2txt.pl ~/bin/
# set .gitattributes (unfortunately I don't this can't be set by default, you have to create it for every project)
echo "*.docx diff=word" > .git/info/attributes
# add the following to ~/.gitconfig
[diff "word"]
binary = true
textconv = docx2txt
# add a new alias
[alias]
wdiff = diff --color-words
# try it
git init
# create my_file.docx, add some content
git add my_file.docx
git ci -m "Initial commit"
# change something in my_file.docx
git wdiff my_file.docx
# awesome!
@molnarjoe
Copy link

That's "didn't" vs "didn & apos ; t", with no spaces.
The forum software changed my text in the above question!!!
How do I get it to stop comparing & apos ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment