我的git存储库是从svn导入的。 git log
中的用户名就像0129.我想用我的设置覆盖它,而不是像012.而我发现这个:
Is there a way to override a git author's display name in local repository config?
.mailmap解决方案在git shortlog
中运行良好,但git log
仍然提供相同的输出。有什么建议吗?
修改的
我也检查了Change the author and committer name and e-mail of multiple commits in Git,但我不希望每次git filter branch
之后都运行git svn rebase
。
答案 0 :(得分:2)
您需要使用git-svn指定作者在从svn迁移到git时的映射:
mkdir project_tmp
cd project_tmp
git-svn init https://company.project.org/project --no-metadata
git config svn.authorsfile ~/Desktop/users.txt
git-svn fetch
users.txt文件是这样的:
xavier.fuster = xavier.fuster <xavier.fuster@project.org>
francesc.dalmau = francesc.dalmau <francesc.dalmau@project.org>
相等的第一部分是svn用户名,第二部分是git名称。
在此之后你需要做普通的克隆以留下所有的svn东西:
git clone project_tmp project
答案 1 :(得分:1)
您在克隆/获取/重新定位/...??/ p>时看过--authors-file
提供authors-file,将允许您使用合理的名称。 authors-file的语法类似于以下内容,每行有1位作者:
svn_user_name = JustNameInGit <obligatory@email.com>