git - 更改帐户后覆盖所有 Git 作者

标签 git github

我已将我的 Git 作者姓名更改为 “首尾 < [email protected] >”到“首尾 < [email protected] >”

这两个电子邮件地址与不同的 Github 帐户关联,我正在将所有个人项目迁移到第二个帐户。

我的问题是,我过去在一些私有(private)存储库上的所有工作(我是唯一的贡献者)都是使用第一个帐户完成的。迁移的代码似乎是由其他用户提交的。如何强制更改所有提交以使用我的新 Git 作者姓名?

如果我能做到这一点,我就可以将更改强制推送到 Github,并且所有工作似乎都已由用户 First Last 完成,这就是我想要的。

谢谢!

最佳答案

最简单的方法是:

我会recommend this solution ,这不会盲目地更改提交(如果您 merge 了其他开发人员的补丁)

#!/bin/bash

git filter-branch --env-filter '
if [ "$GIT_AUTHOR_NAME" = "<old author>" ];
then
    GIT_AUTHOR_NAME="<new author>";
    GIT_AUTHOR_EMAIL="<<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="344d5b4159555d5874475b59515c5b47401a514c40" rel="noreferrer noopener nofollow">[email protected]</a>>";
fi
if [ "$GIT_COMMITTER_NAME" = "<old committer>" ];
then
    GIT_COMMITTER_NAME="<new commiter>";
    GIT_COMMITTER_EMAIL="<<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bdc4d2c8d0dcd4d1fdced2d0d8d5d2cec993d8c5c9" rel="noreferrer noopener nofollow">[email protected]</a>>";
fi
' -- --all

关于git - 更改帐户后覆盖所有 Git 作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242464/

相关文章:

GitHub Api 检查 protected 分支上的批准数量

svn - 有没有办法在存储库更新/切换后自动触发 shell 命令?

GitK 将 remote/origin/master 显示为 master 后面,但 git status 和其他命令坚持一切都是最新的

git - 如何在 GitKraken 中 check out 提交?

git - 本地存储库中的文件与源文件之间的区别

python - 如何从 Python 中调用 'git pull'?

git - 在 github 中强制推送时丢失所有提交

html - 如何将 github 的 "current streak"贡献添加到我的博客?

git - 创建一个分支别名并推送它

java - 如何在您的网站上显示 GitHub 时间线/提要