From: Jacob Helwig Date: Thu, 22 Oct 2009 20:51:01 GMT Subject: Re: Any way to "flatten" a series of changes in git Message-ID: <8c9a060910221351w12e6c610kb842263e1c02ea63@mail.gmail.com> In-Reply-To: <19168.50232.47935.864407@lisa.zopyra.com> On Thu, Oct 22, 2009 at 13:44, Bill Lear wrote: > 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 > Alternatively, you could use git merge --squash git checkout master git merge --squash topic See git-merge(1) for details. rebase --interactive it excellent for cleaning up history, especially if you want to end up with more than one commit at the end. merge --squash is usually sufficient if all you need is one commit at the end.