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

有提示吗?


当前回答

有一个简单的解决方案,为我在macOS Sierra工作。 我就吩咐两件事:

git pull --rebase git_url(Ex: https://github.com/username/reponame.git)
git push origin master

如果在任何未来的推送之后显示任何关于upstream的致命错误,那么只需运行:

git push --set-upstream origin master

其他回答

为了解决这个问题,在从git中检出代码时,你需要给出如下命令:

Git checkout -b branchname origin/branchname

在这里,默认情况下我们正在设置上游分支,因此您将不会遇到上述问题。

显然,当您在第一次推送时忘记了——all参数时也会得到这个错误消息。我写了

git push -u origin

是谁给出了这个错误,它应该是

git push -u origin --all

哦,我多么喜欢这些复制粘贴错误……

对我来说,我正在将更改推到一个我没有写访问权的私有回购。 在执行推或拉操作时,请确保您拥有有效的访问权限。

您可以直接验证通过

如果你在任何分支上,你可以使用这个:

git push origin head -u

这将自动在远程上创建同名的新分支。

我犯了一个简单的错误,忘记了承诺:

git commit -m "first commit"

然后git push origin master工作了。