Назад | Перейти на главную страницу

Как мне исправить метаинформацию при первом коммите в git?

Это связанный вопрос к Как отредактировать историю git, чтобы исправить неправильный адрес электронной почты / имя. С помощью git rebase -i <first commit>, git commit --amend --author "Foo <foo@example.com>", и git rebase --continue, Мне удалось исправить журналы для всех коммитов, кроме первого. Как исправить первую фиксацию?

После долгих проб и ошибок был обнаружен следующий рецепт:

# tag the root-most commit so we can reference it
git tag root `git rev-list HEAD | tail -1`
# check it out on its own branch
git checkout -b new-root root
# amend the commit
git commit --amend
# now you've changed the commit message, so checkout the original branch again
git checkout @{-1}
# and rebase it onto your new root commit
git rebase --onto new-root root
# then nuke the temporary branch and tag we created
git branch -d new-root
git tag -d root

Истинная заслуга в этом ответе должна быть отдана drizzd на #git.