首页 > 解决方案 > 如何更新合并分支中 Git 提交的作者?

问题描述

我一直在关注有关如何更新 Git 中提交的作者的各种指南,但我还没有设法更新之前合并的分支的作者。

这是提交历史的样子:

A - B - C - D - E - F - G
         \ 1 - 2 - 3 - 4 - 5 - 6... 

到目前为止,我已经设法重写了顶级分支的作者。虽然不容易找到:在 Gitlab 之类的东西中,如果您查看提交 C,然后点击父提交的链接几次,您最终会在提交 3、4、5 等中找到作者未更新的提交。

我该如何更新这些?

我运行来更新大部分提交的脚本是:

git filter-branch -f --commit-filter '
        if [ "$GIT_AUTHOR_NAME" = "OLD-USER" ];
        then
                GIT_COMMITTER_NAME="NEW-USER";
                GIT_AUTHOR_NAME="NEW-USER";
                GIT_COMMITTER_EMAIL="NEW-EMAIL";
                GIT_AUTHOR_EMAIL="NEW-EMAIL";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

编辑

感谢Greg Hewgill 的回答,下面的脚本修复了它

git filter-branch -f --commit-filter '
        if [ "$GIT_AUTHOR_NAME" = "OLD-USER" ];
        then
                GIT_COMMITTER_NAME="NEW-USER";
                GIT_AUTHOR_NAME="NEW-USER";
                GIT_COMMITTER_EMAIL="NEW-EMAIL";
                GIT_AUTHOR_EMAIL="NEW-EMAIL";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' -- --all

标签: git

解决方案



推荐阅读