Expertus metuit
Меняем автора коммитов в git-репозитории
Опубликовано 2014-07-09 в 12:01

Очень частая ситуация: склонировали репозиторий, накоммитили, а в качестве имени/емейла в лог ушла всякая дефолтная лажа. У меня в глобальном конфиге юзер и емейл не указаны, поскольку у меня несколько разных емейлов для разных репозиториев, поэтому почти всегда забывают в склонированном репозитории прописать корректный емейл и в коммит лог уходит лажа.

Исправить можно, но такие изменения ломают всю историю коммитов и желательно это всё проделывать до отправки набора изменений на другой git-сервер. Итак, последовательность действий.

Сначала в локальном (или глобальном) репозитории выставляем имя пользователя и емейл.

Сначала делаем git rebase -i <COMMIT-SHA>, в редакторе помечаем нужный для изменения коммит как edit, закрываем редактор.

Делаем git commit --amend --reset-author, затем git rebase --continue. И так повторяем, пока не кончатся коммиты для редактирования.

Чтобы изменить самый первый коммит, используем команду git rebase -i --root

Комментарии

Гость: SAD | 2018-02-28 в 18:20

А как же блин автора то в итоге менять??? ((((((((((((

Текст комментария (допустимая разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com>) Посетители-анонимы, обратите внимение, что более чем одна гиперссылка в тексте (включая оную из поля «веб-сайт») приведёт к блокировке комментария для модерации. Зайдите на сайта с использованием аккаунта на twitter, например, чтобы посылать комментарии без этого ограничения.
Имя (обязательно, 50 символов или меньше)
Опциональный email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2024 Sergey Stolyarov | Работает на pyrengine