我的 git 存储库是从 svn 导入的。并且用户名git log
类似于 0129。我想用我的设置覆盖它,比如 John 而不是 0129。我发现这个:
.mailmap 解决方案在 中运行良好git shortlog
,但git log
仍然提供相同的输出。有什么建议么?
编辑
我也检查了在 Git 中更改多个提交的作者和提交者姓名和电子邮件,但我不想git filter branch
每次都在git svn rebase
.
我的 git 存储库是从 svn 导入的。并且用户名git log
类似于 0129。我想用我的设置覆盖它,比如 John 而不是 0129。我发现这个:
.mailmap 解决方案在 中运行良好git shortlog
,但git log
仍然提供相同的输出。有什么建议么?
编辑
我也检查了在 Git 中更改多个提交的作者和提交者姓名和电子邮件,但我不想git filter branch
每次都在git svn rebase
.
您需要在从 svn 迁移到 git 时使用 git-svn 指定作者的映射:
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>
equal的第一部分是svn用户名,第二部分是git名。
在此之后,您需要进行正常克隆以留下所有 svn 内容:
git clone project_tmp project
你看过什么--authors-file
时候克隆/获取/变基/...?
提供作者文件,将允许您使用理智的名称。作者文件的语法类似于以下内容,每行有 1 个作者:
svn_user_name = JustNameInGit <obligatory@email.com>