在 Git 中,如果我需要将一个仓库的提交历史中的所有作者信息修改为新的格式,并替换掉特定的邮箱域名,该如何操作?
1条回答 默认 最新
关注该回答引用自GPT-4o,由博主小ᶻZ࿆编写:
可以使用 git filter-repo 或 git filter-branch 来批量修改作者信息:
- 使用 git filter-repo 修改所有提交的作者信息:
git filter-repo --name-callback ' if commit.author_email.endswith(b"@old-domain.com"): commit.author_email = commit.author_email.replace(b"@old-domain.com", b"@new-domain.com") commit.author_name = b"New Author Name" ' - 强制推送修改后的历史到远程仓库:
这个操作会修改仓库中所有匹配的提交作者信息。git push origin --force
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 使用 git filter-repo 修改所有提交的作者信息: