git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Git feature request: --amend older commit

From
GSGeorge Spelvin <linux@horizon.com>
Date
Aug 17, 2012, 15:47 UTC
Message-ID
<20120817154749.11762.qmail@science.horizon.com>

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.

And it's a few commits later before I notice the simple oops.

This is of course fixable by making a commit, rebase -i HEAD~4 (or whatever), and marking the fixup for squashing into the previous commit.

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".

It would be fine if it were implemented using rebase -i and you had to use "git rebase --continue" to recover from a conflict. And history had to be linear from the fixup point to HEAD.

The only thing I'd wish for, that rebase -i doesn't support, is a commit with a dirty tree. (Because often the typo is noticed in the middle of further development.) But if I have to manually stash & pop, that would be good enough.

Talking with some friends, they all say "yeah, I would really use that feature". So I figured I'd mention it here.

Next: Michael Haggerty
Message 1 of 6 in “Git feature request: --amend older commit”
  1. George SpelvinAug 17, 2012
  2. Michael HaggertyAug 17, 2012
  3. George SpelvinAug 17, 2012
  4. Thomas RastAug 17, 2012
  5. Jared HanceAug 18, 2012
  6. Junio C HamanoAug 18, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.