我正在旅行,没有正常的笔记本电脑。我需要创建一个新项目并将其作为新的repo推送到我的GitHub。我的朋友,拥有这台笔记本电脑(我正在写这个问题)也在GitHub上做了很多事情。所以我在本地创建了项目,然后登录到GitHub并创建了远程仓库。 GitHub希望我为所有新的repos运行以下典型命令:
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/mygithubuser/example-app.git
git push -u origin master
当我去git push -u origin master
时,我收到以下错误:
remote: Permission to mygithubuser/example-app.git denied to other-user.
fatal: unable to access 'https://github.com/mygithubuser/example-app.git/': The requested URL returned error: 403
...其中other-user
是我朋友的GitHub用户名(毕竟,我正在使用他的笔记本电脑)。所以我查找了典型的修复并尝试运行:
git remote set-url origin https://github.com/mygithubuser/example-app.git
Git并没有抱怨,所以我试着重新跑步:
git push -u origin master
...但我得到的相同' 403'错误。我出错的任何想法以及这里的解决方案是什么?理想情况下,有一些魔术命令会要求我作为我的典型用户进行身份验证吗?
答案 0 :(得分:1)
您可以在“设置/协作者”中配置有权访问您的存储库的人员,您需要自行登录:https://github.com/mygithubuser/example-app/settings/collaboration
如果您希望提交作者与提交的用户不同,则可以使用--author
:
git commit --author="John Doe <john@doe.org>"
示例来自excellent git tutorial from Tower。
这样,提交者将是other-user
,作者将是您指定的人。确保您使用的是用户正确的姓名/电子邮件。
答案 1 :(得分:0)
只需为您的朋友提供存储库的推送权限
作者和提交者仍然是你。
真正的推动是谁真的无关紧要
谁推送不会以任何方式修改提交元数据。
答案 2 :(得分:0)
打开终端并运行
git credential-osxkeychain erase
host=github.com
protocol=https
[press return]
之后,push -u origin master
答案 3 :(得分:0)
用于访问“拒绝的问题”和git用户名,密码
我也有这个问题,但是设法解决了,错误是您的计算机已经保存了git用户名和密码,因此如果您转移到另一个帐户,则会出现错误403。下面是解决方案 对于Windows,您可以在此处找到密钥:
控制面板>用户帐户>凭据管理器> Windows凭据>通用凭据
下一步,删除Github键。