我正在尝试将我的一个项目推送到github,并且我一直收到此错误:
peeplesoft@jane3:~/846156 (master) $ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master
所以我试了一下,得到了这个:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master fatal: Authentication failed
另一个stackoverflow线程建议我尝试以下,结果令人失望.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master fatal: Authentication failed
然后我尝试了这个:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD peeplesoft@jane3:~/846156 (master) $ git push fatal: Authentication failed
任何提示?
您还可以使用以下命令:
git push -u origin master
这会在远程仓库中创建(-u)另一个分支.一旦使用ssh进行身份验证即可.
好吧,我在上传时遇到了同样的麻烦,并且通过执行它说的相同操作来解决了这个问题:早些时候,我试图通过https将终端推送到Linux中的存储库,例如
git push https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git
但是没有得到任何结果,因此我更深入地尝试:
git push --set-upstream https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git master
而且有效。这样,您将得到提示,输入用户名和密码。我还生成了一个令牌,并且粘贴了令牌,因此成功完成了它而不是密码。
要生成令牌,请转到您的Github帐户并在“开发人员设置”中,然后创建另一个令牌。
获取密码后,请复制该令牌,并在出现提示时将其粘贴在密码提示中。
显然,当您--all
第一次按下时忘记参数时,您也会收到此错误消息.我写
git push -u origin
这给了这个错误,它应该是
git push -u origin --all
哦,我喜欢这些复制粘贴错误...
如果定义了操作git push
,则在命令行上未提供refspec的情况下应采取的措施,在远程服务器上未配置refspec,并且命令行上提供的任何选项均未暗示refspec。
去做就对了:
git config --global push.default current
然后
git push
你修复了推送,但是,独立于推送问题(我在" 为什么我需要明确地推送新的分支? ":git push -u origin master
or git push -u origin --all
)中解释,你现在需要解决身份验证问题.
这取决于你的网址(ssh在' git@github.com/yourRepo
,或https中https://github.com/You/YourRepo
)
对于https网址:
如果您的帐户受双因素身份验证保护,则您的常规密码将无效(对于https网址),如此处 或此处所述.
如果您的密码包含特殊字符,则同样的问题(如本答案所示)
如果https不起作用(因为您不想生成辅助密钥,PAT:个人访问令牌),那么您可以切换到ssh,如我在此处所示.
请尝试这种情况
git push -f --set-upstream origin master
您需要先配置遥控器,然后再按下.
git remote add origin url-to-your-repo
实际指示