title = Split a commit! cards = checkout commit reset-hard reset add rebase-interactive rebase-continue show [description] Here, both changes happened in one commit! Split them to be in two commits instead. [setup] echo something > file1 echo something else > file2 git add . git commit -m "Initial commit" echo this should happen first >> file1 echo and this should happen after that >> file2 git commit -am "Both together" echo this is some other change >> file1 echo this is some other change >> file2 git commit -am "Something else" [win] test "$(git diff-tree --no-commit-id --name-status -r main^)" = "M file2" && test "$(git diff-tree --no-commit-id --name-status -r main~2)" = "M file1"