https://medium.com/git-happy/mastering-the-magic-of-git-diff-a-deep-dive-for-advanced-developers-3abe9ab5f59e