Git изменить всю историю для имен коммиттеров и адрес электронной почты для конкретного коммиттера

Как я не могу изменить имя и адрес электронной почты для всей моей истории коммитов, но для конкретного коммитера ...

что-то вроде, foreach allcommits, если committer_name = "Hugo Casa" изменится: committer_name committer_email author_name author_email

и после этого нажмите и обновите данные истории.

пожалуйста помогите я ищу и нашел это:

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "production251" ];
        then
                GIT_COMMITTER_NAME="Hugo Casanova";
                GIT_AUTHOR_NAME="Hugo Casanova";
                GIT_COMMITTER_EMAIL="hugo.casanova.ibusplus.com";
                GIT_AUTHOR_EMAIL="hugo.casanova.ibusplus.com";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD


git filter-branch --env-filter '
    oldname="(old name)"
    oldemail="(old email)"
    newname="(new name)"
    newemail="(new email)"
    [ "$GIT_AUTHOR_EMAIL" = "$oldemail" ] && GIT_AUTHOR_EMAIL="$newemail"
    [ "$GIT_COMMITTER_EMAIL" = "$oldemail" ] && GIT_COMMITTER_EMAIL="$newemail"
    [ "$GIT_AUTHOR_NAME" = "$oldname" ] && GIT_AUTHOR_NAME="$newname"
    [ "$GIT_COMMITTER_NAME" = "$oldname" ] && GIT_COMMITTER_NAME="$newname"
    ' HEAD

но ... после этого: write: git log --pretty = format: "% an" | сорт -у и название производства251 покажи ..

я нашел новый код:

git filter-branch --force --env-filter 'if ["$ GIT_COMMITTER_NAME" = dmiguel "]; затем GIT_COMMITTER_NAME =" Диана Мигель "; GIT_COMMITTER_EMAIL =" [email protected] "; GIT_AUTHOR_iana = MIGAME ; GIT_AUTHOR_EMAIL = "[email protected]"; fi '- --all

это хорошо? или нет? после того, как вы поместили этот код на терминал (Ubuntu), нужен дополнительный код?, нажмите или что-то еще?

Ответы на вопрос(1)

Ваш ответ на вопрос