git filter-branch --env-filter '
export GIT_AUTHOR_EMAIL="foo@example.com"
export GIT_AUTHOR_NAME="foo"' -- commita..commitb
结果是Which ref do you want to rewrite?
So it seems that filter-branch
doesn't allow you to use range notation use a range between two arbitrary refs.
如果这种方法不可行,那么在一系列连续提交(分支历史记录中的某个位置)上运行过滤器的最直接方法是什么。
正如@kan 所说,您不能在历史记录的中间应用过滤器分支。您必须从您已知的提交开始申请到历史记录结束
git filter-branch --env-filter '...' SHA1..HEAD
Filter-branch 可以检查提交作者或其他信息,以选择更改或不更改提交,因此有多种方法可以完成您想要的操作,请参阅https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History,查找“全局更改电子邮件地址”
记住:如果您已将提交推送到公共存储库,则不应使用 filter-branch
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)