git如何修改已经提交的用户名?

发布于 2022-09-12 03:01:01 字数 476 浏览 24 评论 0

已经提交到remote仓库了,可以把之前提交时错误配置的用户名和邮箱永久性从整个git history中修改成新的吗?

以下分两组情况讨论:
第一种:最新的n次commit为错误用户名

commitInfo wrongUsername <wrong@email.com> <-
commitInfo wrongUsername <wrong@email.com>
.
.
.

第二种:最新的1次为正确的用户名,倒数第2次到n+1次为commit为错误用户名

commitInfo rightUsername <right@email.com> <-
commitInfo wrongUsername <wrong@email.com>
commitInfo wrongUsername <wrong@email.com>
.
.
.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

满身野味 2022-09-19 03:01:01

重写提交历史可以使用

git filter-branch

其中有个过滤器可以对提交信息进行过滤并重写,参考命令帮助信息

git filter-branch --help

还有官方文档

以下是一个使用例子

git filter-branch -f --commit-filter '
        #比如把错误提交的用户名改成正确的用户名可以这么写
        if [ "$GIT_COMMITTER_NAME" = "wrongUsername" ];
        then
                GIT_COMMITTER_NAME="rightUsername";
                GIT_AUTHOR_NAME="$GIT_COMMITTER_NAME";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文