On Thursday, October 22, 2009 at 15:30:53 (-0500) Bill Lear writes: >On Thursday, October 22, 2009 at 21:03:44 (+0100) Howard Miller writes: >>Hello, >> >>I have a branch with a whole series of commits. I want to export this >>work to be customer (to their svn repo if that has any bearing on it). >>All the stuff in the history is irrelevant to my customer ("committing >>now, going to bed" etc.) so I'd like to create a new branch that only >>has one commit.. the end point with a new message. Is this possible? > >git rebase is your friend. Someone correct me if I'm wrong. % git branch * master % git checkout -b my_work_branch % [work work work, commit, commit, commit] % git rebase -i master You'll then get an editor buffer that looks like this: pick 16730c6 baz 0 pick 2a844e7 baz 1 pick d6e71dc baz 2 pick d1a6995 baz 3 pick 157e675 baz 4 # Rebase ef0a89e..157e675 onto ef0a89e # # Commands: # p, pick = use commit # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # # If you remove a line here THAT COMMIT WILL BE LOST. # However, if you remove everything, the rebase will be aborted. # Edit this to keep what you need: pick 16730c6 baz 0 squash 2a844e7 baz 1 squash d6e71dc baz 2 squash d1a6995 baz 3 squash 157e675 baz 4 then exit the editor. It'll pop you in another editor session to type in a commit message for these, just type in what you need and exit and you'll have the new commit with all the olds ones squashed into it. Bill -- 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