我有一个旧的CVS回购,我已经转换成GIT,在这样做,我意识到我的一些用户名是混乱的.我可以用.mailmap来修复一些东西,我还使用了Atlassian Stash和一个插件,它可以让我看到哪些人提交了什么等等的很好的图表。问题是,按照插件说明的手风琴:
因此,这意味着如果我添加我的.mailmap文件,它实际上不会对我3年的历史提交产生任何影响。
我想要做的是重写提交历史,修改第一次提交,并将.mailmap文件添加到回购中,然后使用强制推送覆盖存储在服务器上的内容。
.mailmap文件,然后替换我的远程回购发布于 2014-10-03 01:20:44
如果您正在重写所有的历史记录,您只需更改名称/电子邮件,而不是使用.mailmap。
如果要添加邮件映射,也可以使用筛选器分支,但使用的形式不同。这将类似于您想要重写电子邮件而不使用邮件地图。
git filter-branch --env-filter '
DUP_EMAIL="email_that_you_want_to_change"
CORRECT_EMAIL="email_you_would_rather_have"
if [ "$GIT_COMMITTER_EMAIL" = "$DUP_EMAIL" ]
then
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$DUP_EMAIL" ]
then
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tagshttps://stackoverflow.com/questions/26171866
复制相似问题