如何在本地设置中覆盖git作者姓名?

时间:2013-01-28 08:28:24

标签: git git-svn

我的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

2 个答案:

答案 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>