我创建了一个存储库,然后由我的一位同事分叉。 我们昨天一起工作,我们在计算机上克隆了他的分叉
git clone https://github.com/hisname/hisfork.git
并在本地分支上工作,跟踪由
创建的非主远程分支git checkout -b localbranch origin/hisdevelopmentbranch
我试图将这些更改推进
git push origin localbranch:hisdevelopmentbranch
认为git会询问他的用户名和密码。
我得到的错误是
Counting objects: 13, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (13/13), 2.33 KiB | 0 bytes/s, done.
Total 13 (delta 9), reused 0 (delta 0)
remote: Resolving deltas: 100% (9/9), completed with 6 local objects.
To https://github.com/hisname/hisfork.git
! [remote rejected] localbranch -> hisdevelopmentbranch (permission denied)
error: failed to push some refs to 'https://github.com/hisname/hisfork.git'
即使在之后他将我作为合作者添加到他的前叉。 我寻找答案,但我能说明问题。通常我会看到像ssh clone而不是url,配置文件,但我觉得它更容易!
修改
.....$ git remote -v
origin https://github.com/hisname/hisfork.git (fetch)
origin https://github.com/hisname/hisfork.git (push)
答案 0 :(得分:1)
很可能您自己的用户正在使用github进行身份验证。
您可以修改您的git遥控器以指定您的同事的github用户, 像这样:
git remote set-url origin git+ssh://hisname@github.com/hisname/hisfork.git
OR
git remote set-url origin https://hisname@github.com/hisname/hisfork.git
OR
您可以让您的同事将您添加为"合作者"到他的回购分支Like so: Inviting collaborators on Github。
编辑: 正如OP在评论中所提到的,您还需要接受邀请进行协作才能进行协作(上面链接的文档中的步骤#8)。