chiikawa&q 2024-09-02 11:46 采纳率: 93.3%
浏览 0
已结题

关于#git#的问题:如果我需要将一个仓库的提交历史中的所有作者信息修改为新的格式,并替换掉特定的邮箱域名

在 Git 中,如果我需要将一个仓库的提交历史中的所有作者信息修改为新的格式,并替换掉特定的邮箱域名,该如何操作?

  • 写回答

1条回答 默认 最新

  • 小ᶻ☡꙳ᵃⁱᵍᶜ꙳ AIGC领域优质创作者 2024-09-02 11:48
    关注

    该回答引用自GPT-4o,由博主小ᶻZ࿆编写:

    可以使用 git filter-repo 或 git filter-branch 来批量修改作者信息:

    1. 使用 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"
      '
      
    2. 强制推送修改后的历史到远程仓库:
      git push origin --force
      
      这个操作会修改仓库中所有匹配的提交作者信息。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月2日
  • 已采纳回答 9月2日
  • 创建了问题 9月2日