可能的 Laravel Homestead 错误 - 为什么我可以作为用户 mvdstam 将代码提交给 github?

Possible Laravel Homestead bug- why is it that I can commit code to github as user mvdstam?

我认为 laravel homestead 中可能存在错误。

我按照文档 here 设置了一个 laravel homestead 环境来构建一个 Laravel 应用程序。

当我从 vagrant/homestead 环境中提交和推送代码时,它在 github 中显示如下:

我不知道用户 mvdstam 是谁。然而我似乎能够像他一样提交代码。

有人知道是什么原因造成的吗?我放弃了与 laravel homestead 相关的所有内容,因为我放弃了这个项目,但我的猜测是默认的 gitconfig 包含他的凭据?

哈哈。我昨天遇到了这个确切问题。

原因是您没有设置提交的全局用户名和邮箱。因此,当您将更改推送到 Github - 它不知道您是谁。

要解决此问题 - 首先设置您的全局变量:

git config --global user.name "Your name"
git config --global user.email "Your email address"

用户 mvdstam 存在的原因是它似乎作为最后一个用户在宅基地中,在更改提交到宅基地之前。所以基本上 mvdstam 是默认宅基地 git 用户。

我和 Github 谈过这个。需要注意的重要一点是,用户 mvdstam 没有 可以访问您的私有项目——他在您的项目中只是象征性的 link 他进行了提交(尽管他没有)。

我已将问题发布到 Laravel 此处:https://github.com/laravel/framework/issues/8348

mvdstam 在这里!

感兴趣的朋友,请参考corresponding issue on github了解更多信息。问题是 "resolved",我的帐户不再显示给您了。长话短说,git 在未配置的机器上使用的默认邮件地址已链接到我的 Github 帐户,这意味着每个进行提交的人都是作为我帐户的别名来进行的。然而,如果你确实遇到了这个问题,这意味着你的 Homestead 盒子配置不正确(至少关于你的 Git 设置),因为 Git 是回到假定的默认值。

不过,真正需要注意的是,您永远、永远、永远都不能推送您对他人 (linked/aliased) 帐户下的回购承诺。承诺,是的。推,不。您仍然需要有效的凭据。但是,以其他人的名义(实际上是 documented feature of Git!)进行提交将意味着这些提交将在回购提交历史记录中显示。再次声明:"impersonating" 作为其他人是 Git 的特征,而不是 "bug" 或其他任何特征。

我和我可爱的小猫的照片出现在每个人的提交历史上,委婉地说,这是上述情况的意外结果(集成 Gravatar!)。那好吧。至少互联网上的每个人都喜欢猫。