Re: [PATCH RFC] rebase: add --revisions flag
- From
Björn Steinbrink <b.steinbrink@gmx.de>
- Date
- Dec 9, 2009, 11:22 UTC
- Message-ID
- <20091209112237.GA27740@atjola.homenet>
- In-Reply-To
- <alpine.DEB.2.00.0912091150470.470@ds9.cixit.se>
On 2009.12.09 11:52:41 +0100, Peter Krefting wrote:
Show 9 quoted lines
> Michael S. Tsirkin: > > >>Maybe this could also be used to implement a "git merge --squash > >>A..B", a.k.a a "partial merge". > >What exactly should it do? > > The same thing, apply a set of changes on top of the current branch, > just using the "merge" name, and not "rebase" or "cherry-pick". > "merge --squash" is just "cherry-pick" with a different name.
Err, no. "git merge --squash foo" merges all changes from the merge base of HEAD and foo up to foo. "git cherry-pick foo" takes just the changes from foo^ to foo. For example:
A---B---C (master) \ D---E---F (foo)
git cherry-pick foo # Tries to create a new commit with the changes from
# "git diff D F"git merge --squash foo # Tries to create a new commit with the changes
# from "git diff A F"Björn