代码之家  ›  专栏  ›  技术社区  ›  Andrea P.

在GIT中,“GIT config user”和GitHub帐户的实际凭据有什么区别

  •  0
  • Andrea P.  · 技术社区  · 5 年前

    我已经读过这上面的内容了 post ,但我仍然不清楚。基本上,据我所知,我可以使用 git config user.name git config user.email 无论我想要什么,无论我使用的是哪个真实的GitHub帐户(我第一次创建GitHub帐户时会询问我的凭据) git push ).

    此外,在GitHub提交上,它显示了 user.name 而不是实际GitHub帐户的用户名。所以重点是,它们之间有什么区别?有什么意义 git配置用户名 git配置user.email ?

    1 回复  |  直到 5 年前
        1
  •  3
  •   mnestorov leo    5 年前

    这只是两件不同的事情。他们相互联系的唯一原因是 我们 在GitHub帐户和提交中的电子邮件用户之间建立隐式关系(实际上这并不完全正确,但稍后会详细介绍。我想说明一点)。

    好的,更正式地说:是的,你的理解是正确的,你可以设置任何 user.name user.email ,而不管实际的GitHub帐户。为什么会发生这种情况?

    因为 git 就像在你的 .git 项目 不在乎 你托管代码的地方。它可以在GitHub、GitLab或Bitbucket上,在同一台机器上的不同文件夹中,无论在哪里。全部 git 关心的是,对于每个提交,都有一个人创建了该提交,他/她的名字和电子邮件都是已知的。这就是git的用户,这就是git使用用户的目的(以最基本的形式)。

    为什么要有GitHub账号? 因为 它只是另一个在线平台,你需要在上面拥有一个帐户。这与拥有一个脸书或推特帐户没有什么不同。

    这就是为什么我们有一个 隐性的 两者之间的联系。因为你的任何git项目都不关心GitHub或任何其他服务,GitHub也不会真正抱怨你使用的电子邮件和名字。

    你、我和任何人都可以 伪造的 我们的git帐户,只是创建虚假提交,并将其随意推送到我们自己的GitHub帐户。是的,你可以做到。你可以拿走我的电子邮件和用户名,我用它来提交和提交 你的 项目。为什么是你的?因为你可以进行身份验证 你的 GitHub帐户。你 不能 推送我的项目,除非我给你权利或你知道我的GitHub帐户!

    好吧,最后但同样重要的是,我一开始对你撒了一点谎。我经常说,我们有一个 隐性的 两者之间存在联系,但很明显,事实并非如此。更好的说法是:GitHub与您的 git.username and git.email ,而 git 就其本身而言,它对这些提供商几乎不关心。我们可以看到GitHub与您的 git 由于安全限制,帐户。。。

    以下是GitHub上的部分文档

    如果提交满足以下所有条件,它们将出现在您的贡献图上: 用于提交的电子邮件地址与您的GitHub帐户相关联。

    所以从技术上讲,是的,你可以假装成别人,但你不会从中得到任何东西。

    编辑 现在也是指出这一点的好时机 git 还支持 签字 提交/标记。给你一种方法 证明 那个 是您提交的实际作者,而不是某个随机的黑客。你是否应该这样做是另一个问题。

        2
  •  1
  •   Aplet123    5 年前

    Github基本上只是托管一个git服务器。github凭据是为了让github知道你有权实际推送到git服务器上,然后 user.name user.email 以便实际的git服务器知道如何显示您的提交。