问题缘由

因为实习的时候,公司要求将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. 在Linux(CentOS)中安装.netcore SDK

    官方链接 :https://dotnet.microsoft.com/download/linux-package-manager/centos/sdk-current 可以直接根据官方链接,选择Li ...

  2. Python设计模式中单例模式的实现及在Tornado中的应用

    单例模式的实现方式 将类实例绑定到类变量上 class Singleton(object): _instance = None def new(cls, *args): if not isinstan ...

  3. WPF之模拟打开或关闭Windows功能

    用WPF模拟打开或关闭Windows功能的实现方法其实很简单,主要用递归判断当前节点的子节点和父节点的选中状态就行了. 一.效果演示 先看看效果图: 二.部分代码 xaml代码: <TreeVi ...

  4. shell中的变量与eval(转)

    原文链接:http://www.361way.com/shell-eval-variable/4957.html shell 中经常会用到变量的嵌套的情况.比如,单个或多个变量的值作为变量名,再对该变 ...

  5. [ python ] FTP作业进阶

    作业:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp se ...

  6. Vue.js——60分钟快速入门(转)

    var vm = new Vue({ el: '#app', data: { people: [{ name: 'Jack', age: 30, sex: 'Male' }, { name: 'Bil ...

  7. POJ 3253 Fence Repair(哈夫曼编码)

    题目链接:http://poj.org/problem?id=3253 题目大意: 有一个农夫要把一个木板钜成几块给定长度的小木板,每次锯都要收取一定费用,这个费用就是当前锯的这个木版的长度 给定各个 ...

  8. ZOJ 1610 Count the Colors(区间染色)

    题目大意:多组数据,每组给一个n(1=<n<=8000),下面有n行,每行有l,r,color(1=<color<=8000),表示将l~r颜色变为color,最后求各种颜色( ...

  9. 洛谷P1420 最长连号 题解

    题目传送门 这道题我是打暴力的...(尴尬) 所以直接是O(N2)的时间,但好像没有炸,数据很水... #include<bits/stdc++.h> using namespace st ...

  10. 《HBase权威指南》学习笔记

    第一章  简介 背景: GFS:集群存储海量数据,数据在节点间冗余复制,即使一台存储服务器发生故障,也不会影响可用性. GFS的缺点:适合存储少许非常大的文件,而不适合存储大量小文件,因为文件的元数据 ...