# WISH: Extending git commit --amend

4 messages from 2009-05-29 to 2009-05-29. Participants: Marco Costalba, Eric Raible, Matthieu Moy.
Thread: https://gitlist.dev/t/19567

## Marco Costalba, 2009-05-29 06:48

Subject: WISH: Extending git commit --amend
Message-ID: <e5bfff550905282348gf29aa16o6eec88423bb5ce23@mail.gmail.com>
URL: https://gitlist.dev/e/e5bfff550905282348gf29aa16o6eec88423bb5ce23%40mail.gmail.com

```
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, 2009-05-29 08:09

Subject: Re: WISH: Extending git commit --amend
Message-ID: <loom.20090529T080514-262@post.gmane.org>
URL: https://gitlist.dev/e/loom.20090529T080514-262%40post.gmane.org
In-Reply-To: <e5bfff550905282348gf29aa16o6eec88423bb5ce23@mail.gmail.com>

```
Marco Costalba <mcostalba <at> gmail.com> writes:

> [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, 2009-05-29 08:10

Subject: Re: WISH: Extending git commit --amend
Message-ID: <vpqprds2uu6.fsf@bauges.imag.fr>
URL: https://gitlist.dev/e/vpqprds2uu6.fsf%40bauges.imag.fr
In-Reply-To: <e5bfff550905282348gf29aa16o6eec88423bb5ce23@mail.gmail.com>

```
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

```

## Marco Costalba, 2009-05-29 10:39

Subject: Re: WISH: Extending git commit --amend
Message-ID: <e5bfff550905290339t6b1d94b6j7f0aa9508ab14a26@mail.gmail.com>
URL: https://gitlist.dev/e/e5bfff550905290339t6b1d94b6j7f0aa9508ab14a26%40mail.gmail.com
In-Reply-To: <vpqprds2uu6.fsf@bauges.imag.fr>

```
Thanks !

```
