Re: check if a commit is ascendent of a specific commit
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Nov 11, 2006, 11:56 UTC
- Message-ID
- <200611111256.20157.jnareb@gmail.com>
- In-Reply-To
- <fcaeb9bf0611110331q53522c50sda399d4a7916636d@mail.gmail.com>
Dnia sobota 11. listopada 2006 12:31, Nguyen Thai Ngoc Duy napisał:
Show 8 quoted lines
> On 11/11/06, Jakub Narebski <jnareb@gmail.com> wrote: >> You can only amend topmost commit in any branch. Anything else would >> be rewriting history, starting from amended commit upwards in lineage >> (parentage). > > Yes. That's what I want. I am tempted to edit older commits just > because I forgot to add some entries to .gitignore that I should have > added sooner :-)
In pure git you would have to create new branch at the commit you want to amend, amend the commit (in this branch), and rebase (or cherry-pick if you need to edit other commits too) the rest, then rename branch. Or if you don't want ot loose reflog, tag/branch current branch, then reset (rewind) current branch to the commit you want to amend, then cherry-pick.
Or you can use cg-admin-rewritehist tool from Cogito.
See: http://git.or.cz/gitwiki/GitTips
-- Jakub Narebski