I found a good compromise by using VSCode Python extension. You can import Jupyter notebooks as Python scripts and the other way around [0]. If I need to work on a notebook, I prefer working with a Python script and the interactive window [1]. Then I commit both script and ipynb version.
[0] https://code.visualstudio.com/docs/python/jupyter-support-py...
[1] https://code.visualstudio.com/docs/python/jupyter-support-py...