--- Documentation/git-rebase.txt | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 59c1b02..074f38b 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -341,7 +341,29 @@ was HEAD~4 becomes the new HEAD. To achieve that, you would call $ git rebase -i HEAD~5 ---------------------- -And move the first patch to the end of the list. +And move the first patch to the end of the list. Similarly, you can +squash a bunch of consecutive commits into one commit. If you start +with this: + +------------ + Q---R---S---T---U master +------------ + +then the command + +---------------------- +$ git rebase -i HEAD~3 +---------------------- + +would let you edit the last three commits -- S, T, and U; if you +edit the lines corresponding to T and U by changing "pick" to +"squash", the result will be + +------------ + Q---R---S' master +------------ + +where S' contains all the changes that were in S, T, and U. You might want to preserve merges, if you have a history like this: -- 1.6.0.rc3.6.gf8030 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html