threads / discuss / 19567

WISH: Extending git commit --amend

Subject: WISH: Extending git commit --amend

## tl;dr

4 messages between May 29, 2009 and May 29, 2009.

replies: 3people: 3as markdown or json

Marco Costalba· May 29, 2009, 06:48 UTC · lore
Form current documentation
--amend
    Used to amend the tip of the current branch. Prepare the tree
object you would want to replace the latest commit as usual (this
includes the usual -i/-o and explicit paths), and the commit log
editor is seeded with the commit message from the tip of the current
branch. The commit you create replaces the current tip — if it was a
merge, it will have the parents of the current tip as parents — so the
current top commit is discarded.
    It is a rough equivalent for:
            $ git reset --soft HEAD^
            $ ... do something else to come up with the right tree ...
            $ git commit -c ORIG_HEAD
    but can be used to amend a merge commit.

I find myself wanting to amend not tip of the branch, but an older commit (typically to change log message). As example if I have this

D---E---F---G master
And I want to amend revision E currently I do
            $ git branch tmp
            $ git reset E
            $ git commit --amend
            $ git rebase tmp master
            $ git branch -d tmp

Would be possible to extend git commit --amend so to automate the above sequence ? Or does perhaps exists a better sequence to change (actually simulate the change of) log message of an inner revision?

Thanks in advance Marco

Eric Raible· May 29, 2009, 08:09 UTC · re: Marco Costalba · lore

Re: WISH: Extending git commit --amend

Marco Costalba <mcostalba <at> gmail.com> writes:
Show 13 quoted lines
> [snip]
> I find myself wanting to amend not tip of the branch, but an older
> commit (typically to change log message). As example if I have this
> 
> D---E---F---G master
> 
> And I want to amend revision E currently I do
> 
> [snip]
> 
> Thanks in advance
> Marco
> 

git rebase --interactive E^ Then change the commit for E from 'pick' to 'edit'. Then follow the directions.

- Eric
Matthieu Moy· May 29, 2009, 08:10 UTC · re: Marco Costalba · lore

Re: WISH: Extending git commit --amend

Marco Costalba <mcostalba@gmail.com> writes:
> Would be possible to extend git commit --amend so to automate the
> above sequence ? Or does perhaps exists a better sequence to change
> (actually simulate the change of) log message of an inner revision?
git rebase -i E^
Then, change a "pick" with a "edit" wherever you want.

(Perhaps the doc of commit --amend could say "to amend a previous commit, you may want to look at the 'edit' command of 'git rebase -i'"?)

-- 
Matthieu

← back to recent threads