Сменить автора и адрес электронной почты в Git - PullRequest
0 голосов
/ 02 марта 2019

enter image description here Я изменял информацию об авторе git внутри терминала, и по какой-то причине обновление удалило электронное письмо из фиксации, и теперь я не могу отменить это изменение и не могу добавитьадрес электронной почты для этого коммита.

В коммите есть автор, которого я не могу изменить, и электронное письмо, связанное с коммитом: <>.

Может кто-нибудь посоветовать, как добавить адрес электронной почты этому автору?

enter image description here

1 Ответ

0 голосов
/ 02 марта 2019

Пакетное изменение истории коммитов можно с помощью ядерной опции git filter-branch.Используя --env-filter, вы можете изменить автора и информацию электронной почты.См. Изменение информации об авторе - GitHub для получения дополнительной информации.Поскольку у вас сейчас нет информации по электронной почте, вы можете поймать грязное имя, чтобы судить о необходимости переписывания.

Например,

#!/bin/sh
git filter-branch -f --env-filter '
OLD_NAME="Your messy name" # you may need to escape the " char in the head and tail of that messy
CORRECT_NAME="MatthewLRichardson"
CORRECT_EMAIL="preventing@email.spoiler"
if [ "$GIT_COMMITTER_NAME" = "#OLD_NAME" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_NAME" = "#OLD_NAME" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

Затем выполните принудительное нажатие искажите вашему сотруднику обновить его форк, если он есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...