在单独的 github 仓库中切换修改 提交者的相关信息

8 min read

在单独的 GitHub 仓库中切换修改提交者的相关信息,可以按照以下步骤进行操作:

  1. 克隆仓库到本地:

    git clone <仓库地址>
    
  2. 进入仓库目录:

    cd <仓库名称>
    
  3. 查看仓库的提交记录:

    git log
    
  4. 根据需要切换提交者的相关信息,可以使用以下命令:

    • 切换作者(Author)信息:

      git filter-branch --commit-filter 'if [ "$GIT_AUTHOR_NAME" = "<当前作者名称>" ];
      then export GIT_AUTHOR_NAME="<新作者名称>"; export GIT_AUTHOR_EMAIL="<新作者邮箱>";
      export GIT_COMMITTER_NAME="<新提交者名称>"; export GIT_COMMITTER_EMAIL="<新提交者邮箱>";
      fi; git commit-tree "$@"' HEAD
      
    • 切换提交者(Committer)信息:

      git filter-branch --commit-filter 'if [ "$GIT_COMMITTER_NAME" = "<当前提交者名称>" ];
      then export GIT_AUTHOR_NAME="<新作者名称>"; export GIT_AUTHOR_EMAIL="<新作者邮箱>";
      export GIT_COMMITTER_NAME="<新提交者名称>"; export GIT_COMMITTER_EMAIL="<新提交者邮箱>";
      fi; git commit-tree "$@"' HEAD
      

    请注意将 <当前作者名称><新作者名称><当前提交者名称><新提交者名称> 等替换为实际的姓名和邮箱。

  5. 强制推送修改后的提交记录:

    git push --force
    

需要注意的是,这种方法会改变提交历史,因此谨慎使用,并确保在克隆或拉取仓库之前备份重要数据。