最近,我被添加为Github项目的成员/贡献者。我已经在本地机器上克隆了那个项目。
我做了一些更改并在本地提交,现在尝试将更改推送到原始存储库,但当我尝试推送时,我得到了一些权限错误?
C:\Users\MM\Documents\GitHub\software-licensing-php [master]> git push
origin master
remote: Permission to EasySoftwareLicensing/software-licensing-php.git denied to
irfandayan.
fatal: unable to access 'https://github.com/EasySoftwareLicensing/software-licen
sing-php.git/': The requested URL returned error: 403
C:\Users\MM\Documents\GitHub\software-licensing-php [master]> git statu
s
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
我是否缺少一些推动更改的权限,以便我可以询问项目的原始作者?
9条答案
按热度按时间w1jd8yoj1#
ecr0jaav2#
当我通过git config --global www.example.com更改我的用户邮箱时,我曾经遇到过同样的错误user.email,并在这里找到了我的解决方案:转到:控制面板-〉用户帐户-〉管理凭据-〉Windows凭据
在***通用凭据***下有一些与Github相关的凭据,单击它们并单击“删除"。
并且当你尝试推一些东西时,你需要重新登录.希望这对你有帮助
ff29svar3#
在可以解决这个问题,提供用户名和密码在下面的网址。
请使用Github凭据替换用户名和密码:
xkftehaa4#
由于某种原因,我的push和pull源被更改为HTTPS-url,而不是SSH-url(可能是我端的复制粘贴错误),但尝试push会在尝试登录后给予我以下错误:
使用SSH url更新远程源,解决了问题:
希望这有帮助!
qxsslcnc5#
请看github help on cloning URL。使用HTTPS,如果你没有被授权推送,你基本上只有一个只读访问权限。所以是的,你需要请求作者给予你权限。
如果作者没有给予你权限,你可以自己创建(复制)他的存储库,一旦你创建了一个不错的、经过测试的特性,你就可以向原作者发送一个拉取请求。
x3naxklr6#
另一种出现此错误的方法是,如果您有重复或冲突的
~/.ssh/*
条目。首先检查ssh key-chain中的内容:正如你所看到的,有两封邮件是相同的,很容易让你混淆。然后检查你的
config
文件:在这里你可以看到github有两个不同的邮箱账号,但是
HostName
是相同的,这肯定会让人搞混,包括你的git。要解决此问题,请手动删除(复制后)(默认)文件:
现在复制回您要使用的文件,例如
Host github
:那就再试一次。
由于某种原因,使用
ssh-add -d id_rsa
删除密钥没有按预期工作,因为似乎密钥链被缓存。czq61nw17#
我也有这个问题,但设法解决了它,错误是,你的电脑已经保存了一个git用户名和密码,所以如果你转移到另一个帐户的错误403将出现。下面是解决方案对于Windows,你可以在这里找到键:
控制面板〉用户帐户〉凭据管理器〉Windows凭据〉通用凭据
接下来移除Github密钥。
0yg35tkg8#
根据本文作者目前提供的信息,EasySoftwareLicensing/software-licensing-php的项目所有者可能只接受来自fork的pull请求,因此您可能需要对主repo进行fork并将其推送到fork,然后从fork向主repo发出pull请求。
有关说明,请参见以下GitHub help articles:
n3h0vuf29#
最后一个答案(其他人无疑真的回答了):也有可能是,你运行的是一个非常旧的git版本。升级到一个新的git,它会给你提供合适的选项(使用PAT,通过浏览器验证,等等)。