web-dev-qa-db-fra.com

fatal: exception NullReferenceException rencontrée lors de l'interaction avec distant

C'est une nouvelle machine avec une nouvelle installation de Git.

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

J'ai cloné le repo en utilisant https. Chaque fois que j'essaie de parler à distance, je reçois ceci.

> 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.

J'ai essayé de désinstaller et d'installer git à nouveau. J'ai également cloné le même référentiel dans un répertoire différent sur le disque, mais rien de tout cela n'a aidé.

Lorsque je vais à l'interface Web de mon BitBucket, 2FA est activé. Je ne sais pas si cela a quelque chose à voir avec mon problème.

37
Piotr Perak

La raison en est que le Git Credential Manager (GCM) distribué avec Git 2.19.1 doit être mis à jour.

La version de Git 2.19.1 dit:

Livré avec Git Credential Manager v1.18.0.

Et quand on regarde GCM 1.18.1 (la prochaine version) notes de publication:

Corrige les exceptions de référence Null lorsque les paramètres ou contentType ne sont pas renseignés

(Edit 23. Nov 2018) : Comme @ pgsandstrom dans le commentaire, Git a publié une nouvelle version qui contient également un GCM plus récent. Vous pouvez le télécharger ici: Git Releases .


(Le reste est l'ancienne version avant le 23 novembre 2018) )

Le correctif provisoire, jusqu'à ce que Git publie une nouvelle version avec le GCM mis à jour, consiste simplement à installer vous-même la nouvelle version de Git Credential Manager.

Allez donc télécharger la dernière version de ici et installez-la, elle devrait résoudre vos problèmes.


Notez qu'il n'est pas clair pour moi s'il s'agit d'une erreur introduite par Git (c'est-à-dire qu'il ne parvient pas à renseigner le paramètre ou le type de contenu), ou s'il s'agit d'une erreur introduite par GCM. Tout ce que je sais, c'est que Git n'a pas publié de nouvelle version qui résout le problème, contrairement à GCM.

J'utilise le plus récent git version 2.19.1.windows.1 installé via Scoop.

Nous avons migré le référentiel de GitLab vers BitBucket, puis j'ai le même message:

fatal: exception NullReferenceException rencontrée. La référence d'objet n'est pas définie à une instance d'un objet.

Ce qui a résolu le problème était cette commande:

git config --global credential.helper wincred
2
mpro

Une des raisons de ceci pourrait être les changements de mot de passe pour git (et d'autres systèmes de contrôle de version similaires).

Je peux recommander quelques solutions

  1. Comme mentionné par @mpro, vous demanderez d'utiliser les informations d'identification stockées dans le gestionnaire d'informations d'identification Windows. Vous souhaitez mettre à jour votre mot de passe en conséquence.

    Pour y parvenir, procédez comme suit (sous WIN 10): Démarrer -> Panneau de configuration -> Panneau de configuration -> Gestionnaire d'informations d'identification

  2. Au contraire, vous pouvez demander à git d'utiliser les informations d'identification de son cache en utilisant la commande suivante

    git config --global credential.helper cache

    En faisant cela, git demandera le nom d'utilisateur et le mot de passe à chaque interaction avec l'origine distante.

J'espère que cela t'aides!

0
Ram Anand Vutukuru