git 新手,将代码推送到我的存储库并做了一个拉取请求,它被合并了,但我的用户名在其他人的页面上显示为"Ubuntu"



我对本地计算机上的开源项目进行了一些错误修复。我将代码推送到我的github帐户,然后发起了一个拉取请求(从?到?(代码的原始作者。

为什么我的用户名在 github 上显示为"ubuntu"?我确实从 Ubuntu 机器推送,但在任何情况下我都不希望 github 上的任何人知道我的操作系统或用户名。在这种情况下,两者都被揭示了。

到底为什么会发生这种情况,我该如何防止它?

Github说了一些关于将我的电子邮件地址与我的帐户相关联的事情......我没有从电子邮件地址推送。我很困惑。

您是否尝试过更新系统上的 .gitconfig 文件?

如果没有,可以使用这些命令设置 GitHub 的名称和电子邮件,以便在存储库中提交代码时显示。

git config --global user.email "your@email.com"

git config --global user.name "Your Name"

--global标志使这些设置在系统范围内可用,因此当你提交到你有权访问的任何存储库时,将显示此名称。

当您进行提交时,可能有一条消息,指出没有与存储库关联的用户名。 因此,它使用您的帐户/计算机的名称作为进行提交的用户。 如果在本地存储库中执行git log,则应在提交中看到Author: Ubunut

您可以使用以下方法设置用户名/电子邮件:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

这将为你拥有的所有存储库设置"名称"和"电子邮件"。 如果您想将其更改为特定的,只需放下--global

http://git-scm.com/book/en/Customizing-Git-Git-Configuration

Guarav 的答案很棒,但要更新以前提交的名称,您可以使用以下内容:

git commit --amend --reset-author

在此之后编辑 1

好的 - 这仅适用于您完成的上一次提交。

因此,假设您执行了错误的 user.name 和/或 user.email 设置的提交:

首先,您将通过执行以下操作来了解这一点:

git log

它会显示用户名或电子邮件是您想要的。所以现在你使用:

git config --global user.name "The Right Name"
git config --global user.email "The Right Email address"

所以现在这对未来的提交是正确的。但是要修复以前的提交:

git commit --amend --reset-author

将导致上次提交的用户名和电子邮件成为您当前 user.name 和 user.email 的设置。

GIT 具有惊人的许多功能,并且允许您重写历史记录 - 甚至可以添加您忘记放入提交的文件以及一大堆东西。但是,此功能附带的代价是,不仅仅是一个简单的即插即用命令做你想做的事。重写 git 历史是需要深思熟虑的事情——你需要知道你在做什么以及你为什么要这样做,所以我建议你看看一些关于它的 Git 文档或教程,以便你了解如何去做。这里有一个链接可以提供帮助:

Git 教程和培训 |阿特拉斯安

最新更新