致命的:与远程交互时遇到NullReferenceException

时间:2018-11-05 08:24:25

标签: git bitbucket

这是一台全新安装了Git的新机器。

> git --version
git version 2.19.1.windows.1

我使用https克隆了仓库。每当我尝试与远程通话时,我都会得到这个。

> git pull
fatal: NullReferenceException encountered.
Object reference not set to an instance of an object.
fatal: NullReferenceException encountered.
Object reference not set to an instance of an object.

我尝试再次卸载并安装git。我也将相同的存储库克隆到磁盘上的其他目录,但这无济于事。

当我进入BitBucket的Web UI时,启用了2FA。我不知道这是否与我的问题有关。

3 个答案:

答案 0 :(得分:57)

其原因是,需要更新随Git 2.19.1一起分发的Git凭据管理器(GCM)。

发布的Git 2.19.1说:

  

Git Credential Manager v1.18.0随附。

当我们查看GCM 1.18.1(下一版本)发行说明时:

  

修复未填充参数或contentType时的Null引用异常

(2018年11月23日编辑):正如@pgsandstrom在评论中所说,Git发布了一个新版本,其中还包含更新的GCM。您可以在这里下载:Git Releases


(Rest是2018年11月23日之前的旧版本)

在Git发布具有更新的GCM的新版本之前,临时修补程序是自己直接安装新版本的Git Credential Manager。

因此,请从here下载最新版本并安装它,它应该可以解决您的问题。


请注意,我不清楚这是Git引入的错误(即,它无法填充参数或contentType)还是GCM引入的错误。我所知道的是,Git尚未发布可解决此问题的新版本,但GCM已发布。

答案 1 :(得分:1)

我正在运行通过git version 2.19.1.windows.1安装的最新Scoop

我们已经将存储库从GitLab迁移到BitBucket,然后我得到了相同的消息:

  

致命:遇到NullReferenceException。未设置对象引用   到对象的实例。

解决此问题的是此命令:

git config --global credential.helper wincred

答案 2 :(得分:0)

原因之一可能是git(和其他类似版本控制系统)的密码更改。

我可以推荐一些解决方案

  1. 如@mpro所述,您将要求使用存储在Windows凭据管理器中的凭据。您想在那里相应地更新密码。

    达到这一点的方法是(在WIN 10中):开始->控制面板->控制面板->凭据管理器

  2. 相反,您可以使用以下命令要求git使用其缓存中的凭据

    git config --global credential.helper cache

    这样做,git将在与远程源的每次交互中提示输入用户名和密码。

希望这会有所帮助!