Subject: Re: Git feature request: --amend older commit

From: Thomas Rast <[email-masked]>
Date: Fri, 17 Aug 2012 18:37:13 +0200

"George Spelvin" <[email-masked]> writes:

> With git's "commit frequently" style, I often find that I end up with a
> commit that includes a typo in a comment or I forgot one call site when
> updating functions or something.
[...]
> But it would be really handy if there were a one-step command for doing this.
>
> Something like "git commit --fixup HEAD~3", where "git commit --fixup HEAD"
> would be equivalent to "git commit --amend".

Umm, --fixup is already taken and makes the subject be 'fixup! <subject
of argument>'.  This can then be used by rebase -i --autosquash (or
rebase.autosquash=true) to automatically put the fixup(s) that have
accumulated into the right places.  In addition, git-rebase learned to
automatically use the upstream as the default base.

So for me it's usually a matter of

  git add -p
  git commit --fixup=...
  # repeat the above two until all fixups are lined up
  git rebase -i
  # close editor without making changes

Is that still too much effort?

<plug mode=shameless>

The ideas discussed in
  http://thread.gmane.org/gmane.comp.version-control.git/202535/focus=202569
also help selecting the fixup argument more quickly.

</plug>

-- 
Thomas Rast
trast@{inf,student}.ethz.ch