首页 > 解决方案 > 更改 Git 存储库上所有提交的 Giit 作者姓名和电子邮件

问题描述

我正在尝试更改 Git 存储库上的作者姓名和电子邮件但是,我已经执行了几个步骤,但我看不到我的 Github 存储库上反映的更改。

我运行了以下脚本:

git filter-branch -f --env-filter "
    GIT_AUTHOR_NAME='newname'
    GIT_AUTHOR_EMAIL='newemail'
    GIT_COMMITTER_NAME='newname'
    GIT_COMMITTER_EMAIL='newemail'
  " HEAD

我可以看到它更改了一些提交,但我在 git 上设置了另一个删除集,我正在使用 Github 扩展提交到我的 Github 存储库。

我为 Heroku 设置了另一个远程设置,如何在我自己的存储库中更改提交作者和电子邮件?

标签: gitgithub

解决方案


当您运行时filter-branch,您是在本地分支上执行的,而不是远程分支。事实上,你已经重写了所有本地分支的历史,因此你将不得不强制推送所有本地分支。这是一种方法:

git push --force --all

请记住,重写可能由团队中其他用户共享的远程分支的历史记录可能会在这些用户下一次拉动时对他们造成严重破坏。所以,尽量少用力,而且只有在你真正需要的时候。


推荐阅读