我正在尝试管理我不拥有但拥有管理员权限的回购请求。当我尝试从另一个fork中提取更改时,它会因错误而失败。这是我的工作流程......
作为主要回购的管理员,我正在尝试合并这些更改,如下所示......
git clone git@github.com:dude/project.git
git checkout -b gtracy-master master
git pull http://gtracy@github.com/gtracy/project.git master
输入密码后,我收到错误消息......
error: The requested URL returned error: 401 while accessing
http://gtracy@github.com/gtracy/project.git/ifno/refs
这个工作流程错了吗?有没有更简单的方法来管理我自己的拉取请求?
谢谢!
答案 0 :(得分:7)
GitHub "pull request" help page没有提到它,但我更喜欢在提交任何拉取请求之前,在原始仓库的分支顶部使用fork完成我的工作。
也就是说,我会将原始repo添加为远程,获取我的pull请求最终应用的分支,然后在该分支顶部首先在本地(在我的fork中)重新设置我的工作。
这样我就可以确保所有的拉动请求都是快进的。
在您的情况下,如果您知道在原始仓库中没有发布任何更改,那么这可能不适用,因为您已分叉并使用本地仓库。
对于你的第二部分,我会遵循“Merging pull request”部分,并将你的分叉回购添加为原始回购克隆的远程。
话虽如此,GitHub Smart HTTP page中提到错误401“未经授权”:
不要忘记https部分 - Git会通过网络发送您的密码哈希但未加密,因此请务必使用SSL。
在Git的未来版本中(假设我们的补丁已经集成),如果没有提供你的用户名并且客户端获得401,Git将提示你输入用户名,所以你实际上不必将你的用户名放在URL中 - 它只会问当Git需要它时你。
因此,如果您想在地址中使用用户名,请尝试使用https
或者尝试http://github.com/gtracy/project.git
(公共回购地址)