Add the --force flag to second filter-branch run
[git-cheat-sheet.git] / README.md
index 7b84aca..86f8e41 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,6 +3,28 @@ git-cheat-sheet
 
 How to do stuff with git
 
+Staging a subset of changes in a file
+-------------------------------------
+
+    git add -p
+
+    y - stage this hunk
+    n - do not stage this hunk
+    q - quit; do not stage this hunk or any of the remaining ones
+    a - stage this hunk and all later hunks in the file
+    d - do not stage this hunk or any of the later hunks in the file
+    g - select a hunk to go to
+    / - search for a hunk matching the given regex
+    j - leave this hunk undecided, see next undecided hunk
+    J - leave this hunk undecided, see next hunk
+    k - leave this hunk undecided, see previous undecided hunk
+    K - leave this hunk undecided, see previous hunk
+    s - split the current hunk into smaller hunks
+    e - manually edit the current hunk
+    ? - print help
+
+https://git-scm.com/docs/git-add#Documentation/git-add.txt-patch
+
 
 Splitting a repo
 ----------------
@@ -34,6 +56,7 @@ $ git log --pretty=format: --name-status \
     | sort -u > /tmp/tree.old
 $ git ls-tree -r --name-only HEAD > /tmp/tree.new
 $ git filter-branch \
+    --force \
     --prune-empty \
     --index-filter '
         grep -Fvxf /tmp/tree.new /tmp/tree.old \
@@ -47,7 +70,7 @@ Inserting a new root commit
 ---------------------------
 ```sh
 git checkout --orphan $TEMP_BRANCH
-git rm -rf .
+git rm -rf *
 git commit --allow-empty -m $INIT_COMMIT_MSG
 git rebase --onto $TEMP_BRANCH --root $MAIN_BRANCH
 git branch -d $TEMP_BRANCH
This page took 0.025455 seconds and 4 git commands to generate.