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), нужен дополнительный код?, нажмите или что-то еще?