我对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不太熟悉,所以我可能遗漏了一些东西。我可能会相当仔细地观察这个线程。
答案 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”以捕获日志