Re: Any way to "flatten" a series of changes in git
- From
Jacob Helwig <jacob.helwig@gmail.com>
- Date
- Oct 22, 2009, 20:51 UTC
- 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 <rael@zopyra.com> wrote:
Show 20 quoted lines
> 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.