githubはnotebookのプレビューができるので、Jupyter環境ない人に共有するのに便利と思ってレポジトリに入れたのはいいが、.ipynb
の中身はJSONなのでgit diff
を見てもコードの変化がわかりにくく、base64エンコードされた画像出力の差分も含んだりしていて厳しい。
nbdimeを使うと画像などの差分もテキストで見やすい形式で表示してくれて便利。
$ pip install nbdime
$ nbdime config-git --enable --system
$ git diff
git機能はおまけっぽい扱いなのか、ちょっとものたりない気もする。
- outputは表示しないでほしい
- execution countも表示しないでほしい
- cellの移動も追ってほしい
出力を共有する目的がなければ、単に出力を削ってしまえばいいので、jqを使って…
$ jq 'delpaths([paths | select([.[0, 2]] == ["cells", "outputs"])])' note.ipynb
参考
- [nbdime – diffing and merging of Jupyter Notebooks — nbdime 0.3.0.dev documentation]
(http://nbdime.readthedocs.io/en/latest/) - GitHub - jupyter/nbdime: Tools for diffing and merging of Jupyter notebooks.