Add commit-splitting instructions from docs
[git-cheat-sheet.git] / README.md
index 872a0ab..37c1ae4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -60,6 +60,32 @@ Deleting all tags, locally and remotely
 for tag in `git tag`;
 do
     git tag -d $tag
-    git push origin :refs/tags/$tag
+    git push $REMOTE_NAME :refs/tags/$tag
 done
 ```
+
+
+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 <commit>^`, where `<commit>`
+  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`.
This page took 0.020978 seconds and 4 git commands to generate.