git - 如何更新合并分支中 Git 提交的作者?
问题描述
我一直在关注有关如何更新 Git 中提交的作者的各种指南,但我还没有设法更新之前合并的分支的作者。
这是提交历史的样子:
A - B - C - D - E - F - G
\ 1 - 2 - 3 - 4 - 5 - 6...
到目前为止,我已经设法重写了顶级分支的作者。虽然不容易找到:在 Gitlab 之类的东西中,如果您查看提交 C,然后点击父提交的链接几次,您最终会在提交 3、4、5 等中找到作者未更新的提交。
我该如何更新这些?
我运行来更新大部分提交的脚本是:
git filter-branch -f --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "OLD-USER" ];
then
GIT_COMMITTER_NAME="NEW-USER";
GIT_AUTHOR_NAME="NEW-USER";
GIT_COMMITTER_EMAIL="NEW-EMAIL";
GIT_AUTHOR_EMAIL="NEW-EMAIL";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
编辑
感谢Greg Hewgill 的回答,下面的脚本修复了它
git filter-branch -f --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "OLD-USER" ];
then
GIT_COMMITTER_NAME="NEW-USER";
GIT_AUTHOR_NAME="NEW-USER";
GIT_COMMITTER_EMAIL="NEW-EMAIL";
GIT_AUTHOR_EMAIL="NEW-EMAIL";
git commit-tree "$@";
else
git commit-tree "$@";
fi' -- --all
解决方案
推荐阅读
- json - 如何从用户输入中迭代 python 字典?
- powershell - Powershell 计算单列中的匹配变量
- c++ - Lex 没有返回我想要的
- winapi - Windows 搜索中属性的最大矢量大小
- python - Qt5 + matplotlib:不能将不兼容的 Qt 库(版本 0x50b01)与此库(版本 0x50b02)混合
- python - 如何在Python中将多个句子转换为列表列表
- ios - 我的 UIsearch 栏不起作用/向其他站点发送请求
- silverstripe - Silverstripe 4 更改基本网址
- javascript - 客户端不能要求 JS 文件
- javascript - 如何使用 AsyncStorage 将一些数据用户输入保存到某些表单中并保存到本地设备中