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

有提示吗?


当前回答

我得到这个错误是因为我试图在没有写权限的情况下推送代码,我只有读权限。 在Bitbucket中,当你打开你的repo(存储库详细信息)时,你可以在右侧检查访问:

其他回答

我也有同样的问题

我用下面的命令解决了它

$ git branch --set-upstream develop origin/develop

它会在。git文件夹的配置文件中添加一个配置。

这是更好的,克隆这个回购新的。也许它只是迷失了方向。

这意味着您在远程存储库中没有您的分支(您想要推送的分支),换句话说,它在远程存储库中不存在(它还没有创建)…… 所以使用以下代码:

git push -u origin 'your branch name'

这段代码将在远程存储库中创建您的分支,并将它…

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

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

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

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

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

对我来说,这是因为我删除了隐藏的。git文件夹。

我通过删除文件夹、重新克隆并重新进行更改来解决这个问题。