如何更改一系列提交的作者?
如何更改一系列提交的作者?
要更改一系列提交的作者,需要重写所有历史记录。如果您不介意这一点并认为值得这样做,那么您应该查看 git filter-branch。手册页面包括几个示例以供入门。还要注意,您可以使用环境变量来更改作者、提交者、日期等的名称 -- 请参阅 git manual page 中的“环境变量”部分。
具体而言,您可以使用以下命令修复所有错误的作者名称和电子邮件(来源:GitHub 帮助):
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
要使用备选历史记录过滤工具 git filter-repo,您需要首先安装它并按照 gitmailmap 的格式构建一个 git-mailmap
。
Proper Name <[email protected]> Commit Name <[email protected]>
然后使用创建的 mailmap 运行 filter-repo:
git filter-repo --mailmap git-mailmap
标签:git,更改,--,CORRECT,filter,GIT,提交者,电子邮件,EMAIL
From: https://www.cnblogs.com/xiaomandujia/p/17799180.html