git - 更改 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 设置了另一个远程设置,如何在我自己的存储库中更改提交作者和电子邮件?
解决方案
当您运行时filter-branch
,您是在本地分支上执行的,而不是远程分支。事实上,你已经重写了所有本地分支的历史,因此你将不得不强制推送所有本地分支。这是一种方法:
git push --force --all
请记住,重写可能由团队中其他用户共享的远程分支的历史记录可能会在这些用户下一次拉动时对他们造成严重破坏。所以,尽量少用力,而且只有在你真正需要的时候。
推荐阅读
- redis - redis-py:如何检查是否有任何与模式匹配的键
- python - 尝试在 Django 中设置不区分大小写的用户名时匹配查询错误
- express - 如何使用 passport-local-mongoose 进行异步身份验证调用?
- c# - 带有 Cognito/OIDC 的 Visual Studio AWS 无服务器应用程序获得 ERR_TOO_MANY_REDIRECTS
- winapi - 是否可以在 Windows 上的用户模式应用程序中从内核模式驱动程序调用函数?
- python - 如何在不传递第一个参数的情况下将第二个参数传递给函数?
- algorithm - 为什么函数括号中有两个空分号(;)?
- python - 我如何创建角色并将它们放在首位? discord.py
- html - 为什么我的页脚没有显示在文档中?
- powershell - 通过 powershell 检测所有操作系统的 SMB1 版本