记git升级版本之后出现fatal: NullReferenceException encountered问题
问题缘由
因为实习的时候,公司要求将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问题的更多相关文章
- 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: ...
- Git的升级版本
关于升级版本,例如我们要升级service版本,我们可以这样子操作 1.在master里面pull完了之后,到自己的分支,然后merge master里面的代码,然后把pom文件 里面的版本升一级,然 ...
- 记Git报错-refusing to merge unrelated histories
记Git报错-refusing to merge unrelated histories 系统:win7 git版本: 2.16.2.windows.1 问题 1.本地初始化了git仓库,放了一些 ...
- Git分布式版本控制系统(上)
Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...
- Git 升级与基础适用
Git 升级 老方法 yum install git 目前centos6安装的 git 版本为1.7相对于 github 以及自己安装的 git 服务器都相对比较老,所以一般不适用此方法安装) 编译安 ...
- 手把手教你玩转Git分布式版本控制系统!
目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...
- centos git 升级应用
在阿里云服务器上部署Git 升级centos 自带的Git yum库自带版本为git1.7.1-3.el6_4.1. -------------------升级-------------------- ...
- GIT 分布式版本控制系统的简单使用介绍
GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...
- 关于git远程版本库的一些问题之解决
Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedK ...
随机推荐
- JS中短路运算符&&和||
在JS函数中我们经常会使用到短路运算符,主要是逻辑与(&&) 和 逻辑或(||) 1.逻辑与 && 的运算方式 var a = 5 && 6; cons ...
- VC字体对话框的初始化
本代码需要先添加类成员 LOGFONT lf; void CMyDlg::OnButton3() { // TODO: Add your control notification handler c ...
- document.write 简介
document.write 的执行分两种情况: 第一种:dom加载已完成 1. 执行 document.open() (即会清空document) 2. 执行 document.write() 3. ...
- password passphrase passcode 的区别
In general, passphrases are long passwords and passcodes are numeric-only passwords.
- Linux SCIM/fcitx/ibus 输入法
现在很多发行版linux一般都是装好scim scim-tables-zh 重启就行 但有时重启后还是不能调用 可以用如下方法: 添加文件: sudo gedit /etc/X11/xinit/xin ...
- wget下载整个网站或特定目录
下载整个网站或特定目录 wget -c -k -r -np -p http://www.yoursite.com/path -c, –continue 断点下载 -k, –convert-links ...
- 用VIM查看编辑二进制文件
用VIM查看编辑二进制文件 vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更好用.vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的文本形式,然后就可 ...
- 4B/5B编码原理
4B/5B编码原理 什么是4B/5B编码? 4B/5B编码是百兆以太网(即快速以太网)中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数,映射方式如下表所示: 为什么要进行4B/5B ...
- 设计模式之笔记--享元模式(Flyweight)
享元模式(Flyweight) 定义 享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象. 类图 描述 Flyweight:抽象享元类,是所有的具体享元类的基类,为子类规定出需要实 ...
- 升级vs17中的cordova-simulate
visual studio 17自带的cordova-simulate有一个bug,动态添加的html代码里面如果带有header,会出现js异常导致后面js程序终止执行,这个问题已经给他们提了iss ...