问题缘由

因为实习的时候,公司要求将Git升级到最新版本,然后我就升级了。
这里之前有一段小插曲:

因为最初下载Git的本地目录是中文目录,然后在webstorm里面配置Git的路径时最好是用英文的路径,所以在本地就自己新建了一个英文的目录,然后将中文目录下的Git拷贝到英文目录下。可能之前自己也没太注意,webstorm里面进行提交的时候,一直是用的英文目录下的Git,然后命令行用的是中文目录下的Git(因为环境变量配置是中文目录)。不过这个应该也不冲突,因为我想的话,都是用的一个Git版本。就这样顺利地git用了两个多月也没什么问题(一般做项目都是用webstorm里面的Git工具)。

问题发生了

1.百度解决了一通:
今天升级了一下版本,然后项目做了一部分,想提交(用的是webstorm的git工具),先git commit,然后再git pull origin 远程分支名的时候,一直卡住了,我以为是webstorm的速度慢问题,然后我重启了webstorm,弄了很久还是卡住。我开始尝试命令行,在执行git pull的时候出现了fatal: NullReferenceException encountered问题,然后我百度了一通,无意间执行了git config --global credential.helper manager,其实这个是解决Fatal: TaskCanceledException encountered这个问题。
2.百度解决不了,然后就重新卸载,然后安装git
弄了很久还是不行,找了人来帮忙,重新生成SSH,然后添加到公司的git服务器上。最后还是不行。他把他电脑上的git config和我的比较了一下,发现credential.helper这个不一样,就是因为我之前无意间改了。
3.最后将credential.helper改成store之后,出现了Couldn't find remote ref 远程分支名这个问题
这个问题解释就是找不到远程分支名,才发现分支名打错了。
4.最后修改分支名之后,就正常了,但是用命令行git pull的时候还是会提示fatal: NullReferenceException encountered这个,但是能成功pull。用webstorm的git命令就不会有这个问题提示。

总结来说

在解决问题的时候,要对症下药,不要想当然执行命令,不然可能会出现更多的错误。
关于git config --global credential.helper store这个命令,贴个链接https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8,这个就是讲Git的凭证存储。

“store” 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下

记git升级版本之后出现fatal: NullReferenceException encountered问题的更多相关文章

  1. When cloning on with git bash on Windows, getting Fatal: UriFormatException encountered

    I am using git bash $ git --version git version .windows. on Windows 7. When I clone a repo, I see: ...

  2. Git的升级版本

    关于升级版本,例如我们要升级service版本,我们可以这样子操作 1.在master里面pull完了之后,到自己的分支,然后merge master里面的代码,然后把pom文件 里面的版本升一级,然 ...

  3. 记Git报错-refusing to merge unrelated histories

    记Git报错-refusing to merge unrelated histories   系统:win7 git版本: 2.16.2.windows.1 问题 1.本地初始化了git仓库,放了一些 ...

  4. Git分布式版本控制系统(上)

    Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  5. Git 升级与基础适用

    Git 升级 老方法 yum install git 目前centos6安装的 git 版本为1.7相对于 github 以及自己安装的 git 服务器都相对比较老,所以一般不适用此方法安装) 编译安 ...

  6. 手把手教你玩转Git分布式版本控制系统!

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...

  7. centos git 升级应用

    在阿里云服务器上部署Git 升级centos 自带的Git yum库自带版本为git1.7.1-3.el6_4.1. -------------------升级-------------------- ...

  8. GIT 分布式版本控制系统的简单使用介绍

    GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...

  9. 关于git远程版本库的一些问题之解决

    Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedK ...

随机推荐

  1. bootstrap分页查询传递中文参数到后台(get方式提交)

    <!--分页 --> <div style="width: 380px; margin: 0 auto; margin-top: 50px;"> <u ...

  2. skb_reserve(skb,2)中的2的意义

    skb_reserve() skb_reserve()在数据缓存区头部预留一定的空间,通常被用来在数据缓存区中插入协议首部或者在某个边界上对齐.它并没有把数据移出或移入数据缓存区,而只是简单地更新了数 ...

  3. python不可以打印.doc文件

    [背景] 需求: 打印word文件 模块: python-docx [问题] 传递xxx.doc文件给python脚本,执行后,控制台没有内容输出 经查询后了解到,大致理由: doc是早一代的word ...

  4. static变量和final变量

    1.static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内 ...

  5. python开发web服务器——搭建简易网站

    参看:https://blog.csdn.net/baidu_35085676/article/details/69807145

  6. CentOS下NTP安装配置

      安装yum install ntp 配置文件 /etc/ntp.confrestrict default kod nomodifynotrap nopeer noqueryrestrict -6 ...

  7. HDU 4370 0 or 1(spfa+思维建图+计算最小环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4370 题目大意:有一个n*n的矩阵Cij(1<=i,j<=n),要找到矩阵Xij(i< ...

  8. Appium+python 一个简单的登录测试实例

    # coding=utf-8 from appium import webdriver import time import unittest import os import HTMLTestRun ...

  9. beego学习笔记(4):开发文档阅读(6)

    beego的响应流程: 1.监听的端口接收数据,默认是8080端口. 2.用户请求到达8080端口后,开始数据处理流程. 3.初始化CONTEXT对象.判断是否是WEBSOCKET请求,如果是,设置I ...

  10. poj 2337(单向欧拉路的判断以及输出)

    Catenyms Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11648   Accepted: 3036 Descrip ...