0

我有一个 git repo,我从不同的计算机提交,所以我最终显示为 2 个不同的贡献者,但实际上它是一个用户 - 我。如何将这些用户合二为一?

4

3 回答 3

2

您必须在两台机器上将您的用户名和电子邮件设置为相同:

git config --global user.name <name>
git config --global user.email <email>

如果您想更改现有提交,请注意您将重写历史记录。

你可以参考这个答案:How do I rewrite committer names in a git repository?

于 2013-01-06T10:46:41.570 回答
1

@SergiuDumitriu在https://github.com/settings/emails将所有电子邮件添加到您的帐户是正确的。这样,您所有提交的工作(来自不同的电子邮件)都将链接到您的 GitHub 帐户,并汇总在您贡献的每个存储库的“图表”部分中。

但是,为了在您计算机上的本地存储库上也能做到这一点,您必须将.mailmap文件提交到存储库的根目录,该文件会将您的电子邮件链接在一起。一旦可以在git shortlog文档中找到有关此 git 功能和文件格式的更多信息。

这种方式运行$ git shortlog -s -n将正确聚合您的所有身份。

于 2013-01-06T12:14:45.093 回答
0

如果您只关心将所有提交链接到您的 GitHub 帐户,那么将两个电子邮件地址添加到您的帐户就足够了。

如果你真的想修改所有现有的提交,除非代码没有被其他人真正使用过,否则不要这样做,因为你要重写每个提交,你的存储库中的整个历史。

如果您仍想这样做,则应使用git-filter-branch --env-filter,如本答案所示。

于 2013-01-06T11:10:11.430 回答