There are a few threads discussing text-based representations of notebooks and ways to diff them, including:
- Should Jupyter recommend a text-based representation of the notebook?
- Jupyter and GitHub - alternative file format
There are some applications mentioned in those threads, they might be helpful to you?