如何合并 git 用户?
我使用不正确的用户名进行了几次提交,现在它们显示在存储库历史记录中,我想将它们与我将用于 git 存储库的真实姓名合并。
我怎么做?
我有这个脚本,我经常用它来编辑我的历史。您可以更改 if 子句中的名称或通过电子邮件或其他任何方式进行过滤:
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "Jimmy McNulty" ];
then
GIT_COMMITTER_NAME="Jimmy McNulty";
GIT_COMMITTER_EMAIL="me@example.com";
GIT_AUTHOR_NAME="Jimmy McNulty";
GIT_AUTHOR_EMAIL="me@example.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
如果只有几个提交,您可以使用交互式 rebase 并每次强制作者和提交者。
请注意,这将使您的分支提示以及任何人可能拥有的任何内容都无效,因此,如果您不是一个人工作并且已经将您的提交推送到某个地方,那么这对每个人来说都是一种痛苦。
您还可以使用重写您的历史记录git filter-branch
(尽管您必须弄清楚自己如何做到这一点,因此首先要备份东西;-))(编辑:好的,您不必弄清楚,也许,您可以开始关闭 Oin 的回答)。