# Lump commit HOWTO?

4 messages from 2007-07-13 to 2007-07-13. Participants: Josh Boyer, Alex Riesen, martin f krafft.
Thread: https://gitlist.dev/t/9015

## Josh Boyer, 2007-07-13 01:21

Subject: Lump commit HOWTO?
Message-ID: <625fc13d0707121821l70e2d6aaw555c79b5d700585f@mail.gmail.com>
URL: https://gitlist.dev/e/625fc13d0707121821l70e2d6aaw555c79b5d700585f%40mail.gmail.com

```
Hi All,

I have a specific workflow in mind that I'm not entirely sure how to
accomplish with git.  What I'd like to do is track a project in a
local branch, and do commits of my own there as well.  Then when I'm
ready to submit the work, I want to take all the incremental commits
and lump them into a single new commit and push that out as a patch or
into a branch for people to pull from.

E.g.

1) clone upstream into foo branch
2) commit A
3) commit B
4) pull upstream changes into foo branch
5) commit C
6) commit D
7) repeat steps 2 - 6 in various orders
8) take all local commits (A - D) and create a single commit without
any of the upstream changes in it

Is something like that easily accomplished?  Or perhaps a different
workflow that would allow similar results?

josh

```

## Alex Riesen, 2007-07-13 04:54

Subject: Re: Lump commit HOWTO?
Message-ID: <20070713045447.GA2430@steel.home>
URL: https://gitlist.dev/e/20070713045447.GA2430%40steel.home
In-Reply-To: <625fc13d0707121821l70e2d6aaw555c79b5d700585f@mail.gmail.com>

```
Josh Boyer, Fri, Jul 13, 2007 03:21:17 +0200:
> Hi All,
> 
> I have a specific workflow in mind that I'm not entirely sure how to
> accomplish with git.  What I'd like to do is track a project in a
> local branch, and do commits of my own there as well.  Then when I'm
> ready to submit the work, I want to take all the incremental commits
> and lump them into a single new commit and push that out as a patch or
> into a branch for people to pull from.

See git merge --squash. It is exactly that.
Also git-rebase --interactive and git cherry-pick -n can help you to
get the same.

```

## martin f krafft, 2007-07-13 06:09

Subject: Re: Lump commit HOWTO?
Message-ID: <20070713060909.GA18442@lapse.madduck.net>
URL: https://gitlist.dev/e/20070713060909.GA18442%40lapse.madduck.net
In-Reply-To: <625fc13d0707121821l70e2d6aaw555c79b5d700585f@mail.gmail.com>

```
also sprach Josh Boyer <jwboyer@gmail.com> [2007.07.13.0321 +0200]:
> 8) take all local commits (A - D) and create a single commit without
> any of the upstream changes in it

This is entirely untested and since I am a newbie, it might well not
work, but shouldn't the following do what you want?

git log origin..master --> gives you the local commits not in origin
git checkout -b merger
git merge --squash <sha> <sha> <sha> ...
git commit ...

-- 
martin;              (greetings from the heart of the sun.)
  \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
 
spamtraps: madduck.bogus@madduck.net
 
officer, arrest that man! he's whistling a copyrighted song.

```

## Josh Boyer, 2007-07-13 13:43

Subject: Re: Lump commit HOWTO?
Message-ID: <625fc13d0707130643v1fb739bejb894648dcf16bd3@mail.gmail.com>
URL: https://gitlist.dev/e/625fc13d0707130643v1fb739bejb894648dcf16bd3%40mail.gmail.com
In-Reply-To: <20070713045447.GA2430@steel.home>

```
On 7/12/07, Alex Riesen <raa.lkml@gmail.com> wrote:
> Josh Boyer, Fri, Jul 13, 2007 03:21:17 +0200:
> > Hi All,
> >
> > I have a specific workflow in mind that I'm not entirely sure how to
> > accomplish with git.  What I'd like to do is track a project in a
> > local branch, and do commits of my own there as well.  Then when I'm
> > ready to submit the work, I want to take all the incremental commits
> > and lump them into a single new commit and push that out as a patch or
> > into a branch for people to pull from.
>
> See git merge --squash. It is exactly that.

Hm, OK.  I'll have to play with that.

> Also git-rebase --interactive and git cherry-pick -n can help you to
> get the same.

Gah... I totally missed git rebase.  Looks massively useful.  Thanks!

josh

```
