Учитывая использование git-filter-branchявляется не требуется , чтобы сделать то же самое в GIT-фильтр-репо (возможно , потребуется установить его первый с pip install git-filter-repo):
git-filter-repo --name-callback 'return name.replace(b"OldName", b"NewName")' --email-callback 'return email.replace(b"old@email.com", b"new@email.com")'
Если репозиторий является оригинальным, без удаленного доступа, вам придется добавить --forceпринудительную перезапись. (Вы можете создать резервную копию вашего репо, прежде чем делать это.)
Если вы не хотите сохранять ссылки (они будут отображаться в истории веток Git GUI), вам придется добавить --replace-refs delete-no-add.
Дополнительные функции см. В разделе «Фильтрация имен и писем» .
PS Украдено и улучшено с https://stackoverflow.com/a/59591928/714907 .