【问题标题】:Why github allows unrecognized author to commit为什么github允许无法识别的作者提交
【发布时间】:2017-04-24 18:31:54
【问题描述】:

在我自己的 GitHub 存储库中,我注意到有来自 unrecognized author 的提交。

我已经开始调查,我意识到当我通过 Visual Studio 2015 - Team Explorer 在远程存储库上推送任何更改时,即使我更改了我的全局 .gitconfig 设置并在那里设置了无效的用户名和无效的 e,这些更改也会成功推送- 邮件地址 - 当我收到unrecognized author 时就是这种情况。

如果我尝试通过git bash 命令提示符直接推送更改,并输入无效的用户名或密码,我会得到:invalid username or password - 这很明显,而且很正常。

如果我输入有效的用户/密码,我会得到:The requested URL returned error: 403 - 但同样,这是正常的,因为我没有将此用户添加为我的Collaborator。 如果我将此用户添加为我的协作者,我可以成功推送。

那么,为什么会这样呢?

为什么 GitHub 允许我使用无效的用户/电子邮件通过 VS 2015 推送更改?

【问题讨论】:

    标签: git github visual-studio-2015 git-bash team-explorer


    【解决方案1】:

    从根本上说,git 是去中心化的。存储库的每个副本都彼此相等。提交可以从任何地方到任何地方。你从远程 X 拉取提交并将它们推送到远程 Y 是完全正常的,当它们出现在远程 Y 上时,即使那个人可能在远程 Y 上没有帐户,原始提交者的名字仍然会出现在他们身上。

    因此,远程 Y(在本例中为 github)不能仅仅因为它包含一些无法识别的提交者名称而拒绝推送。

    当您从命令行进行身份验证时,您无需输入用户名和密码来表明自己是被推送提交的作者。您只是将自己标识为有权将这些提交放入存储库的人。大概当您从 IDE 执行此操作时,它使用的是您在某个时候输入的 github 凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 2010-12-13
      • 2011-10-09
      • 1970-01-01
      相关资源
      最近更新 更多