【问题标题】:Pull request button missing缺少拉取请求按钮
【发布时间】:2020-05-05 11:40:00
【问题描述】:

所以,我正在我的计算机上与两个不同的用户作为合作者在一个 repo 上练习 git。

用户1

  • 创建了一个存储库,邀请其他用户进行协作。
  • 将一个简单的index.html 文件推送到远程主机。
  • 从 master 签出一个分支 input1,推送到本地分支,发送 pull request,并合并到远程 master。

用户2

  • 结帐到另一个分支input2,拉取git pull origin master,在我的本地获取文件index.htmlinput1.html
  • 已将更改推送到本地分支。
  • 但是,现在我的仓库(即用户 2 帐户)上没有 Compare and pull request button,但我可以看到用户 1 github 帐户上的按钮。此外,Your recently pushed branches: 行仅在 User1 帐户上可见。

为什么会这样?

注意:这是 User1 和 User2 工作的同一个公共仓库。

【问题讨论】:

  • 你怎么推? SSH 还是 HTTPS?
  • 使用 HTTPS....
  • 是否每次都提示您输入凭据?如果是这样,您在每种情况下都提供哪些凭据?
  • 我在两个地方克隆了存储库。一个在桌面上,另一个在文档上。我给了不同的用户名和电子邮件。 User1 有不同的 git config 名称和电子邮件,User2 有不同的。我还可以看到谁在 repo 本身中推送了什么。
  • 嗯,不,不是每次。我正在使用 git bash。

标签: git github pull-request


【解决方案1】:

当您推送到存储库时,使用的凭据与 user.nameuser.email 设置没有任何关系。这些设置用于将作者和提交者信息写入提交,但不以任何方式用于身份验证。

如果系统未提示您输入凭据,则可能的问题是您的凭据管理器中保存了凭据,并且这些凭据(用于 User1)作为身份验证发送。因此,虽然您的提交看起来像是由 User2 创建的,但它们实际上是由 User1 推送的。

请注意,您可以推送其他人创建的提交是有意的,因为许多工作流使用由一个人编写并由另一个人提交的补丁。例如,它被 Git 和 Linux 内核使用。

确保您使用正确帐户的最简单方法是始终将用户名放在 URL 中,例如:https://bk2204@github.com/git/git.git。这可确保您的凭据管理员获得有关使用什么用户名的提示,并允许您根据需要使用多个帐户。

如果您不确定自己的网址是什么,您可以使用git remote -v 来查看它们,并使用git remote set-url origin URLorigin 的远程设置为URL

请注意,贡献仅在合并到主分支时才会显示,因此如果提交不在 master(或您的代码的等效项)中,则它们不会被计为贡献。

【讨论】:

    猜你喜欢
    • 2022-08-05
    • 1970-01-01
    • 2019-07-06
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多