On Wednesday 2006 December 13 23:08, Jon Masters wrote: > Anyway, now I would like to change an existing log entry to make it a > bit cleaner (read: add a first line that's under 80 characters). What's > the best way to change an existing log entry for a commit? If it's HEAD you want to change: git-commit --amend If it's not, it's a bit harder. You could pull each commit out as a patch and apply them again later after a git-reset. However, git has a tool for automating a lot of that: git-rebase. man git-rebase has some excellent examples. * -- A -- B -- C (master) Let's say you want to edit A; make a new branch at A: $ git branch temp-edit-branch master^^ * -- A (temp-edit-branch) \ B -- C (master) Edit A with git-commit --amend. This makes a new A, A' that has the new commit message: * -- A' (temp-edit-branch) \ A -- B -- C (master) Then you switch to "master" and rebase master onto temp-edit-branch; you can then delete temp-edit-branch $ git-checkout master $ git-rebase temp-edit-branch $ git branch -D temp-edit-branch * -- A' -- B' -- C' (master) \ A -- B -- C Note that A-B-C are now dangling commits; a git-prune would be needed to clean them out of the repository. The important thing to realise is that you can never really edit a commit. The best you can do is reapply it. In this example, the fact that B' makes the same change as B is irrelevant - they are two separate commits. Note: this is only workable if you haven't pushed this branch to another repository. The other repository would retain the original A--B--C branch and you will get "won't fast forward" errors if you try to push the new "A'--B'--C'" branch. Andy -- Dr Andy Parkins, M Eng (hons), MIEE andyparkins@xxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html