git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* WISH: Extending git commit --amend
@ 2009-05-29  6:48 Marco Costalba
  2009-05-29  8:09 ` Eric Raible
  2009-05-29  8:10 ` Matthieu Moy
  0 siblings, 2 replies; 4+ messages in thread
From: Marco Costalba @ 2009-05-29  6:48 UTC (permalink / raw)
  To: Git Mailing List

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: WISH: Extending git commit --amend
  2009-05-29  6:48 WISH: Extending git commit --amend Marco Costalba
@ 2009-05-29  8:09 ` Eric Raible
  2009-05-29  8:10 ` Matthieu Moy
  1 sibling, 0 replies; 4+ messages in thread
From: Eric Raible @ 2009-05-29  8:09 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: WISH: Extending git commit --amend
  2009-05-29  6:48 WISH: Extending git commit --amend Marco Costalba
  2009-05-29  8:09 ` Eric Raible
@ 2009-05-29  8:10 ` Matthieu Moy
  2009-05-29 10:39   ` Marco Costalba
  1 sibling, 1 reply; 4+ messages in thread
From: Matthieu Moy @ 2009-05-29  8:10 UTC (permalink / raw)
  To: Marco Costalba; +Cc: Git Mailing List

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: WISH: Extending git commit --amend
  2009-05-29  8:10 ` Matthieu Moy
@ 2009-05-29 10:39   ` Marco Costalba
  0 siblings, 0 replies; 4+ messages in thread
From: Marco Costalba @ 2009-05-29 10:39 UTC (permalink / raw)
  To: Matthieu Moy, raible; +Cc: Git Mailing List

Thanks !

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-05-29 10:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-29  6:48 WISH: Extending git commit --amend Marco Costalba
2009-05-29  8:09 ` Eric Raible
2009-05-29  8:10 ` Matthieu Moy
2009-05-29 10:39   ` Marco Costalba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).