You need to have SketchTool installed somewhere in your path.
Add this in your ~/.gitconfig file (for some reason, it won't work in a local .gitconfig file):
[diff "sketchtool"]
textconv = "sketchtool dump"
cachetextconv = true
binary = true
and then add this in your local or global .gitattributes file:
*.sketch diff=sketchtool
Now, whenever you modify a .sketch file in your repo, running git diff will produce a nice text diff like this:

This trick only worked for me with a project-local
.gitattributesfile, not a global one. Not sure why. @bomberstudios thanks for the tip!