git config -如何在git仓库中组合用户



我有一个git仓库,在那里我从不同的计算机提交,所以我最终显示为两个不同的贡献者,但实际上它是一个用户-我。如何将这些用户统一为一个?

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

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

如果你想改变现有的提交,你将被警告你将重写历史。

你可以参考这个答案:我如何重写git存储库中的提交者名称?

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

然而,为了在您的计算机上的本地存储库上也发生这种情况,您必须将.mailmap文件提交到存储库的根目录,该文件将把您的电子邮件链接在一起。可以在git shortlog文档中找到关于这个git特性和文件格式的更多信息。

这样运行$ git shortlog -s -n将正确地聚合您的所有身份

如果你所关心的是得到所有提交链接到你的GitHub帐户,那么这是足够的添加两个电子邮件地址到你的帐户。

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

如果你仍然想这样做,你应该使用git-filter-branch --env-filter,正如在这个答案中看到的。

最新更新