git - 缺少拉取请求按钮
问题描述
所以,我在我的计算机上与两个不同的用户作为合作者在一个仓库上练习 git。
用户 1
- 创建了一个 repo,邀请另一个用户进行协作。
- 将一个简单的
index.html
文件推送到远程主机。 - 从 master签出一个分支
input1
,推送到本地分支,发送 pull request,并合并到远程 master。
用户 2
- 结帐到另一个分支
input2
,拉过git pull origin master
,获取文件index.html
并input1.html
在我的本地。 - 将更改推送到本地分支。
- 但是,现在我的仓库中没有
Compare and pull request button
用户 2 帐户,但我可以看到用户 1 github 帐户上的按钮。此外,该行 -Your recently pushed branches:
仅在 User1 帐户上可见。
为什么会这样?
注意:这是 User1 和 User2 工作的同一个公共仓库。
解决方案
user.name
当您推送到存储库时,使用的凭据与和user.email
设置没有任何关系。这些设置用于将作者和提交者信息写入提交,但不以任何方式用于身份验证。
如果没有提示您输入凭据,则可能的问题是您的凭据管理器中保存了凭据,并且这些凭据(用于 User1)作为身份验证发送。因此,虽然您的提交看起来像是由 User2 创建的,但它们实际上是由 User1 推送的。
请注意,您可以推送其他人创建的提交是有意的,因为许多工作流使用由一个人创作并由另一个人提交的补丁。例如,它被 Git 和 Linux 内核使用。
确保您使用正确帐户的最简单方法是始终将用户名放在 URL 中,如下所示:https://bk2204@github.com/git/git.git
. 这可确保您的凭证管理员获得有关使用什么用户名的提示,并允许您根据需要使用多个帐户。
如果您不确定您拥有的 URL,您可以使用git remote -v
查看它们并将git remote set-url origin URL
远程设置origin
为URL
.
请注意,贡献仅在它们合并到主分支时才会显示,因此如果提交不在master
(或您的代码的等效代码)中,那么它们将不会被视为贡献。
推荐阅读
- c++ - 这行三元运算符的语法是什么
- python - Vectorize Spark 内置函数
- javascript - 当我使用 jest 从模拟的 axios 调用返回一些响应时变得不确定
- javascript - 如何在 MongoDB 中搜索特定数字的字符串?
- r - 跨多个候选项查找多个子字符串的最佳匹配
- python - 如何为 LSTM 层重塑递归神经网络的张量
- javascript - 将html字符串转换为反应组件的最佳方法是什么?
- python - 无法在 Mac 上使用 openCL
- symfony - Symfony 3:没有生产或开发日志,由于系统问题无法处理身份验证请求
- matlab - 使用matlab计算矩阵内xyz值的成对距离