我对本地计算机上的开源项目进行了一些错误修复。我将代码推送到我的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 教程和培训 |阿特拉斯安