如何在 git 中重命名错误作者的提交

pli*_*man 3 git github

我已经在 github 项目 y 中工作了几个月,由于“错误的作者信息”,我所做的一些提交没有分配给我。

有没有办法循环浏览这些提交或立即将作者更新为所有提交?他们大多数是 100 左右。

谢谢

更新:尝试在 git bash 上运行脚本时出现此错误: 错误

Windows cmd 上的这个:错误 2 有帮助吗?我究竟做错了什么?

Cod*_*ard 5

您将需要使用过滤器分支

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
        then
                GIT_COMMITTER_NAME="<New Name>";
                GIT_AUTHOR_NAME="<New Name>";
                GIT_COMMITTER_EMAIL="<New Email>";
                GIT_AUTHOR_EMAIL="<New Email>";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD `
Run Code Online (Sandbox Code Playgroud)

如果您是提交到此存储库的唯一用户,您可以简单地更新所有引用,而无需检查旧内容

git filter-branch -f --env-filter '
    GIT_AUTHOR_NAME="Newname"
    GIT_AUTHOR_EMAIL="newemail"
    GIT_COMMITTER_NAME="Newname"
    GIT_COMMITTER_EMAIL="newemail"
  ' HEAD
Run Code Online (Sandbox Code Playgroud)