With recent versions (starting with v1.7.0, I believe) there's a
"fixup" mechanism that makes it a bit faster:

--autosquash
           When the commit log message begins with "squash! ..." (or
"fixup!
           ..."), and there is a commit whose title begins with the
same ...,
           automatically modify the todo list of rebase -i so that the
commit
           marked for squashing comes right after the commit to be
modified,
           and change the action of the moved commit from pick to
squash (or
           fixup).

           This option is only valid when the --interactive option is
used.

So, you can mark your commits for squash/fixup of the main commit, use
"git rebase -i --autosquash", and it'll take care of it for you.
Fixup commits have their messages discarded, unlike the combine-then-
edit mechanism for squashing.

Jeffrey

On May 2, 7:24 pm, Charles Manning <mannin...@actrix.gen.nz> wrote:
> If you're old enough you might remember VAX VMS. One really neat feature that
> this had was file versioning that made it really easy to revert a few edits
> back.
>
> I was trying to something like this in git storing each file after an edit
> with
>
> $ git commit -a -m "wip $(date)"
>
> After a few edits you end up with a log that looks like:
>
> $ git log --oneline
> d7f2462 wip Mon May  3 11:40:09 NZST 2010
> a744bf9 wip Mon May  3 11:40:09 NZST 2010
> cd27722 wip Mon May  3 11:40:08 NZST 2010
> 4130b3b wip Mon May  3 11:40:08 NZST 2010
> 3ab5dc6 wip Mon May  3 11:40:06 NZST 2010
> 0f0a662 wip Mon May  3 11:39:42 NZST 2010
> 25669f0 Add starting point file x
>
> I can then do a git rebase -i and squash all the wips
>
> and end up with
>
> $ git log --oneline
> fd041b4 wip Mon May  3 11:39:42 NZST 2010
> 25669f0 Add starting point file x
>
> Then do a git commit --amend and change the commit message.
>
> $ git log --oneline
> 3a770a7 finally fixed
> 25669f0 Add starting point file x
>
> That's all very manual.
>
> Is there some easier way?
>
> Thanks
>
> Charles
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Git for human beings" group.
> To post to this group, send email to git-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> git-users+unsubscr...@googlegroups.com.
> For more options, visit this group 
> athttp://groups.google.com/group/git-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to