问题缘由

因为实习的时候,公司要求将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. Go语言 7 并发编程

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ Go学习群:415660935 今天我们学习Go语言编程的第七章,并发编程.语言级别 ...

  2. c++中指针常量,常指针,指向常量的常指针区分

    const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * con ...

  3. Mysql储存过程6: in / out / inout

    in 为向函数传送进去的值 out 为函数向外返回的值 intout 传送进去的值, 并且还返回这个值 )) begin then select 'true'; else select 'false' ...

  4. python自动开发之(算法)第二十七天

    1.什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 2.复习:递归 递归的两个特点:(1) 调用自身 (2)结束条件 def func1(x): print(x) func1( ...

  5. IT人员必备linux安全运维之Ssh用途、安全性、身份认证以及配置……【转】

    SSH一般用途 提供shell,解决telnet不安全的传输 1.修改默认ssh默认端口 vi /etc/ssh/sshd_config 修改之后重启 >systemctl restart ss ...

  6. Linux创建ftp并设置权限以及忘记ftp帐号(密码)修改

    忘记ftp密码修改方法: 1.登录服务器 cd  /etc/vsftpdcat ftpusers找到对应的ftp用户名 (如果用户名也忘记了 那么 cd /etc 然后cat passwd 查看用户和 ...

  7. 查看压缩包内容tar -tf

    linux 压缩文件内容查看 分类:Linux | 标签: linux  压缩文件内容查看  2012-03-14 22:01阅读(1243)评论(0) 1. zipinfo    执行zipinfo ...

  8. [转]Java中堆和栈创建对象的区别

    转载自http://blog.csdn.net/hbhhww/article/details/8152838 栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序 ...

  9. python调用api方式

    1.shell版本 #!/bin/bash #根据api提供商,获取指定时间格式 datestr=`xxx` #根据api提供商,获取指定加盐密码格式 pwdstr=`xxx` curl -s -X ...

  10. iptables配置文件

    https://www.cnblogs.com/itxiongwei/p/5871075.html