Source: cirosantilli/git-tips/modify-contents-of-an-old-commit-in-your-branch

= Modify contents of an old commit in your branch

Before:
``
7 my-feature HEAD
|
6
|
5 master
|
4
|
3
|
2
|
1
``

Oh, commit 6 was crap:
``
git rebase -i HEAD~2
``

Mark `6` to be modified.

After:
``
7 my-feature HEAD
|
6v2
|
5 master
|
4
|
3
|
2
|
1
``
Better now, ready to push.

Note: history changes change all commits SHAs. All parents are considereEven time is considered. So is commit message/author. And obviously file contents. So now commit "7" will actually have a different SHA.