X-Git-Url: https://git.xandkar.net/?p=git-cheat-sheet.git;a=blobdiff_plain;f=README.md;fp=README.md;h=37c1ae433d66c5067fbca16c14eafcf7adfc727c;hp=f23a0684bf66768af7bec5acbc43e8f11a7dd648;hb=0c3f98d931578bf044f1facc2fb8f3c8a2fb251c;hpb=66329b9492ea944c441d8be9961cb41214be7c20 diff --git a/README.md b/README.md index f23a068..37c1ae4 100644 --- a/README.md +++ b/README.md @@ -71,3 +71,21 @@ Get an older version of a file ```sh git cat-file -p $COMMIT_DIGEST:$FILE_PATH ``` + + +Splitting a commit +------------------ + +From [docs](https://git-scm.com/docs/git-rebase#_splitting_commits): + +- Start an interactive rebase with `git rebase -i ^`, where `` + is the commit you want to split. +- Mark the commit you want to split with the action "edit". +- When it comes to editing that commit, execute `git reset HEAD^`. The effect + is that the HEAD is rewound by one, and the index follows suit. However, the + working tree stays the same. +- Now add the changes to the index that you want to have in the first commit + (`git add`) +- Commit the now-current index with whatever commit message is appropriate now. +- Repeat the last two steps until your working tree is clean. +- Continue the rebase with `git rebase --continue`.