无法推送到GitHub存储库;未经授权

时间:2018-10-17 00:42:08

标签: git

我对git还是很陌生,但是即使从我完成的所有搜索中来看,这似乎仍然是一个非常异常的情况。

我正在与其他三个人进行一个学校项目,我们都在处理A拥有的同一个回购协议。B和C毫无疑问要推送到该回购协议,也不必输入凭据,但是每个我尝试推送时,git(如果重要的话,请使用git bash)给出错误(fatal: NullReferenceException encountered. Object reference not set to an instance of an object.),然后要求输入“ http://github.com/”用户名和密码。我已经使用我的凭据和A的凭据进行了尝试,但始终会说我是未经授权的(即使尝试推送Eclipse时也是如此)。

根据git remote show origin,我已正确地连接到正确的存储库,并且将不会提供帮助(这似乎正常),因为在进行所有故障排除/测试后,我的本地主服务器比远程主服务器要早8次提交。

我正在尝试提供尽可能多的细节,但是我仍然对git不太熟悉,所以我可能遗漏了一些东西。我可能会相当仔细地观察这个线程。

3 个答案:

答案 0 :(得分:1)

您必须检查您的来源是正确的GitHub URL

https://github.com/aUser/aProject

或:

git@github.com/aUser/aProject

然后确保您是该项目的合作者(或项目所有者)。

在bash会话中检查.profile.bashrc.bash_profile:其内容也可能会引发错误。

答案 1 :(得分:1)

最后,问题是我在github上使用2FA,所以我不能仅使用密码直接登录。我必须首先创建一个个人访问令牌which you can read about here

接下来,我通过断开源的连接来存储它,然后使用https URL并使用个人访问令牌作为密码重新添加它,并永久存储了凭据。

git remote remove origin
git remote add origin https://myUsername:P.A.T.@github.com/aUsername/aRepo.git
git push --set-upstream origin master

答案 2 :(得分:-1)

您在Visual Studio中工作吗? 如果是这样的话 在VS中,进入“查看”菜单>“其他Windows”>“命令” 运行“ Tfs.tfc跟踪/ start /logfile:C:\sometempdir\log.txt /keywords:TFS.All=4”以捕获日志