我试图把我的一个项目推到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 origin master

这对我有帮助。

其他回答

我在上传的时候也遇到了同样的问题,我解决了 做着上面说的同样的事情: 早些时候,我试图通过https将终端推送到linux中的存储库 就像

git push https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git

但没有任何结果,因此我更深入地尝试:

git push --set-upstream https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git master

这招奏效了。这样就会提示您输入用户名和密码。 我还生成了一个令牌,而不是密码,我粘贴令牌,因此,成功完成。

要生成一个令牌,请转到您的Github帐户,在开发者设置中,然后创建另一个令牌。 收到后,收到 该令牌并在被询问时粘贴到密码提示中。

首先使用git拉原点your_branch_name 然后使用git push origin your_branch_name

在我的情况下,我有一个本地分支称为Master,而Master是在Github上。 我只是把我的Master ->重命名为Master,然后签出为Master。 然后按一下。这对我很管用。

你也可以使用下面的命令:

git push -u origin master

这将在远程repo中创建(-u)另一个分支。一旦使用ssh完成了身份验证。

在我看来,这只是一个错误的默认git行为。 回顾了git支持的所有选项,也回顾了相关的git代码:

https://github.com/git/git/blob/140045821aa78da3a80a7d7c8f707b955e1ab40d/builtin/push.c#L188

我建议最好的解决方案是重写push default命令:

git config --global alias.pu 'push -u'

这基本上改变了推送的默认行为,所以这是有意义的。