0

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

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

为什么会发生这种情况,我该如何预防?

Github 说了一些关于将我的电子邮件地址与我的帐户相关联的内容……我没有从电子邮件地址推送。我很混乱。

4

3 回答 3

3

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

如果没有,您可以使用这些命令设置您的姓名和电子邮件地址,以便在您在 repo 中提交代码时显示 github。

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

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

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

于 2013-10-02T15:20:17.983 回答
2

当您进行提交时,可能有一条消息表明没有与 repo 关联的用户名。因此,它使用您的帐户/计算机的名称作为提交的用户。如果您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

于 2013-10-02T15:20:11.180 回答
1

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 有很多惊人的功能,并且可以让你重写历史——甚至可以添加你忘记放入提交的文件,以及一大堆东西。但是,此功能的代价是,不只是一个简单的 PLUG 和 CHUG 命令来执行您想要的操作。重写 git 历史是一件需要思考的事情——你需要知道你在做什么以及为什么要这样做,所以我建议你查看一些关于它的 Git 文档或教程,以便你了解如何去做。这是一个可以提供帮助的链接:

Git 教程和培训 | 阿特拉斯

于 2013-10-02T19:38:46.490 回答