web-dev-qa-db-fra.com

Erreur 'impossible d'ouvrir git-upload-pack' dans Eclipse lors du clonage ou de l'extension du référentiel git

Je ne suis pas en mesure de cloner ou de transmettre à un référentiel git à Bitbucket dans Eclipse:

Error 'cannot open git-upload-pack'

C'est bizarre, car un jour avant je n'avais aucun problème. J'ai téléchargé les mailles 3 fois sans succès. Cette erreur continue à apparaître. De plus, j'ai installé SourceTree et il est écrit "Ceci n'est pas un chemin source/URL valide":

Error 'This is not a valid source path / URL' in sourcetree

Si j'utilise des commandes git pour importer le projet, cela fonctionne, mais je ne veux pas utiliser EGit pour cette tâche, car je suis un débutant avec git.

Je ne sais pas si cela a à voir avec cela, mais dans le même répertoire, j'ai Android-adt-bundle. Celui-ci fonctionne plutôt bien, mais le projet repose sur GitHub et non sur Bitbucket. De plus, je travaille avec une autre personne et il est capable d'extraire et d'envoyer des données depuis et vers le référentiel Bitbucket. J'ai lu beaucoup d'articles, mais aucun ne m'a aidé.

J'utilise Windows 7 btw.

55
kiduxa

Finalement, je l'ai fait fonctionner grâce au étapes décrites dans le forum Eclipse :

Configurer les éléments de la clé SSH

  1. Téléchargez et installez mysys git conformément aux instructions de github à l’adresse http://help.github.com/win-git-installation/
  2. Dans C:/Users/you/ssh masque toutes les clés existantes (id_rsa et id_rsa.pub) dans un sous-répertoire. Si le répertoire ssh n'existe pas, créez-le. Bien sûr, "vous" est votre nom d'utilisateur car le système d'exploitation vous connaît.
  3. Dans le menu de démarrage, exécutez la commande Shell Git-Bash (une commande DOS classique ne fonctionnera pas).
  4. Dans le shell Git-Bash, générez une clé rsa en fonction de votre adresse électronique (celle que vous avez enregistrée sur github): ssh-keygen -t rsa -C "[email protected]" et entrez votre phrase secrète et confirmez-la à l'invite.
  5. L'étape précédente aurait dû créer C: /User/you/ssh/id_rsa.pub que vous pouvez maintenant ouvrir dans un éditeur de texte et copier. Sur github, allez dans les paramètres du compte, clés SSH, ajoutez une clé et collez-la dans la boîte à clés.
  6. Dans Git-Bash à nouveau (remarquez les back-ticks dans la ligne suivante): eval `ssh-agent` ssh-add C:/User/you/ssh/id_rsa ssh [email protected]

Voici ce que vous venez de faire: Vous avez exécuté ssh-agent, dont ssh-add a besoin. Ensuite, vous avez utilisé ssh-add pour noter l’emplacement de votre clé. Ensuite, vous avez essayé de ssh à GitHub. La réponse à cette dernière commande devrait être que vous vous êtes authentifié avec succès auprès de GitHub mais que vous n'avez pas d'accès Shell. Ceci est juste un test d'authentification. Si l'authentification n'a pas réussi, vous devrez résoudre ce problème. Essayez la version commentée:

ssh -v [email protected]

En supposant que cela a fonctionné ....

Dans Eclipse, configurez le Push distant

  1. Fenêtre > Afficher la vue > Git > Les référentiels Git ajouteront une fenêtre Explorateur de référentiels.
  2. Dans la fenêtre du référentiel, sélectionnez le référentiel, développez-le et cliquez avec le bouton droit de la souris sur les télécommandes et choisissez Créer une télécommande .
  3. Copiez l'URI du référentiel GitHub à partir de la page du référentiel GitHub et collez-le dans la zone URI.
  4. Sélectionnez ssh comme protocole, puis revenez à la zone URI et ajoutez "git +" au début pour que cela ressemble à ceci:

    git + ssh: //[email protected]/NomUtilisateur/NomProjet.git

  5. Dans la zone Repository Path , supprimez la barre oblique

  6. Hit Suivant et croisez les doigts. Si votre "obtention de l'autorisation" échoue, redémarrez Eclipse et recommencez l'étape 5.
  7. Lorsque vous avez dépassé l'authentification, dans la boîte de dialogue suivante, sélectionnez "maître" pour la référence de la source, cliquez sur "Ajouter toutes les branches" et "Terminer".

Au lieu d'utiliser SSH [email protected], je l'ai fait avec SSH [email protected].

Maintenant, je peux pousser et importer sans aucun problème.

7
kiduxa

Peut aussi être un mauvais certificat SSL, réparer le serveur

Si vous avez un serveur GIT avec un correctif SSL obsolète ou auto-signé, tout devrait ensuite fonctionner correctement.

Correctif non sécurisé: laissez le client accepter n'importe quel certificat

La solution suivante n'est qu'un simple correctif côté client et doit être évitée car elle compromet la sécurité de vos informations d'identification et de votre contenu. Il existe une explication détaillée à cela dans " Comment puis-je faire accepter par un certificat auto-signé à git? " qui propose des solutions plus complexes et plus sûres que vous pouvez essayer si ce qui suit fonctionne en général.

Dans mon cas, c’était Eclipse qui utilisait un stockage différent pour git config, comme le fait la ligne de commande, et n’ayant donc pas l’option

git config http.sslVerify false

set (que j'ai défini en utilisant la ligne de commande pour le dépôt pour travailler avec un certificat SSL non valide/non fiable ).

L'ajout de l'option à l'intérieur Eclipse résout immédiatement le problème. Pour ajouter l'option

  1. ouvrez les préférences via le menu de l'application Fenêtre => Préférences (ou sous OSX Eclipse => Paramètres ).
  2. Accédez à Team => Git => Configuration
  3. cliquez sur Add entry..., puis placez http.sslVerify dans la zone de clé et false dans la zone de valeur.

Semble être une solution valable pour Eclipse 4.4 (Luna), 4.5.x (Mars) et 4.6.x (Néon) sur différents systèmes d’exploitation.

113
NextThursday

Cela se produit pour les raisons suivantes:

1) Pare-feu.

2) Problèmes de réseau.

3) Incompatibilité des paramètres de proxy

4) Connecté via un routeur différent - non autorisé sur le réseau.

5) Détails de l'authentification du proxy Git

13
Sireesh Yarlagadda

Une des causes de ceci est la configuration de Fiddler2 pour le déchiffrement du trafic HTTPS. Fermez Fiddler2 et cela devrait fonctionner correctement.

6
Aaron Axvig

Après avoir lutté pendant quelques heures, j'ai découvert que le fichier de configuration git n'était pas mis à jour lorsque j'ai ajouté l'entrée sslVerify = false dans mon Eclipse.

J'ai résolu mon problème en naviguant dans mon répertoire .git et en mettant à jour le fichier config vers:

[http]
    sslVerify = false
6
Radouane ROUFID

J'ai ajouté -Dhttps.protocols=TLSv1.1,TLSv1.2 à Eclipse.ini et tout fonctionne. J'utilise Java 1.7

5
liox

Ce problème peut être dû à la présence d'un pare-feu local qui empêche votre application d'envoyer tout trafic réseau à partir de votre ordinateur. C'est à dire. Règles de trafic sortant ou de sortie.

Essayez de désactiver votre pare-feu pour un test rapide afin de voir si cela résout votre problème. Si tel est le cas, configurez la stratégie de pare-feu appropriée pour l'application que vous essayez d'utiliser pour pousser ou accéder à un référentiel git.

4
user560663

Récemment, j'ai eu le même problème avec le référentiel existant.Quand j'essaie d'extraire un objet extrait non capable en amont et que j'ai eu des problèmes Eclipse: impossible d'ouvrir git-upload-pack.

pour moi la solution suivante fonctionne après l’ajout de la version TLS dans le fichier Eclipse.ini

Dhttps.protocols = TLSv1.1, TLSv1.2

Pour Java7, il faut ajouter TLSv1.1 et pour Java8, TLSv1.2.

Remarque: Vous devez redémarrer Eclipse une fois la configuration ci-dessus ajoutée.

3
Hardik Lotiya

Dans mon cas, il s'est avéré que les paramètres de proxy globaux dans "Préférences-> Connexions réseau" interféraient avec git. Ce qui est un peu déroutant, car git a une propriété dédiée à la configuration du proxy. Quoi qu'il en soit, j'ai ajouté l'hôte du référentiel à la liste "Contournement du proxy" et le problème a disparu.

3
iTake

J'ai eu le même problème quand j'ai un nouvel ordinateur portable avec Windows8/Kaspesky installé dessus. J'ai eu des problèmes avec Eclipse: impossible d'ouvrir git-upload-pack. J'ai aussi eu des problèmes avec Maven. J'ai aussi un problème avec Skype.

Quand j'ai désactivé Kaspersky, tout a commencé à fonctionner correctement.

2

Ajoutez https.sslVerify comme false ... lorsque vous utilisez une connexion https pour importer à partir de git

1
Niranjan S

Pour ceux qui ont encore ce problème, et aucune des solutions ci-dessus n'a fonctionné pour vous:
Mettez à jour vos versions de Java et d'Eclipse.
Dans mon cas, j’ai mis à jour de Java 7 à Java 9 et d’Eclipse Mars à Eclipse Oxygen et le problème a été résolu !!!

1
Upendra

Je viens de recevoir cette même erreur, "ne peut pas ouvrir git-upload-pack", dans Eclipse avec un dépôt BitBucket essayant de faire un pull ou un Push. Je l'ai résolu en commutant les branches locales (Team/Switch To) vers la branche principale et en effectuant un tirage, puis en revenant à la branche sur laquelle je travaillais et en tirant à nouveau.

1
kris

J'ai le même problème. Je viens de suivre les étapes ci-dessous: 1. Équipe> À distance> Configurer la récupération depuis l'amont ... 2. Indiquez l'urri du bps https: bit, puis sauvegardez et récupérez. 3. Réinitialisez le dernier commit de votre projet. Equipe> Réinitialiser> Sélectionnez le dernier commit depuis le dossier distant 4. Synchronisez ensuite l'espace de travail. Equipe> Synchroniser (dans une perspective synchronisée) 5. Cliquez avec le bouton droit sur le projet et écrasez la copie locale. 6. Cliquez sur l'icône Pull.

1
zishan paya

J'utilise Eclipse Kepler SR2 sur Ubuntu 12.04LTS et je tentais d'accéder à un GitHub interne à l'aide de HTTPS. Malheureusement, ma machine virtuelle Java sous-jacente avec laquelle Eclipse a été démarré a rencontré des problèmes avec le certificat auto-signé du serveur. Le passage à une JVM différente pour Eclipse a permis la connexion HTTPS à notre GitHub.

Créez un démarreur Eclipse simple utilisant un JDK différent, par exemple. avec OpenJDK: /Eclipse_Kepler_4.4.2/Eclipse -vm /usr/lib/jvm/Java-6-openjdk-i386/jre/bin

1
S F

Dans mon cas, je n'utilisais pas l'URL correcte fournie par le bouton "cloner" dans GitLab: GitLab button clone

0
RotS

J'ai reçu ce message d'erreur car mon utilisateur était différent de celui attendu par le référentiel dans ma configuration Git.

Cela déclencherait évidemment les défaillances du certificat SSL mentionnées ci-dessus.

La fixation sur le bon utilisateur a résolu ce problème pour moi.

0
kirenpillay

J'ai eu un problème similaire et une solution rapide à votre problème est de vous assurer que vous définissez votre option JVM dans le fichier Eclipse.ini pour utiliser jre7. Les anciens Jre viennent avec un ancien fichier de règles local et cela renverra des erreurs. Une note rapide est également que vous devez pointer sur votre javaw pas Java.

-vm c:\PROGRA ~ 2\Java\jre745\bin\javaw.exe -vmargs -Xms40m -Xmx512m -XX: MaxPermSize = 256 m -Dsun.lang.ClassLoader.allowArraySyntax = true

0
rokeefe

La solution à cela dans Eclipse Mars 4.5.2: Fenêtre -> Préférences -> Équipe -> Git -> Paramètres du référentiel -> Clé AddEntry: http.sslVerify Valeur: false

0
Pawan J

Je viens de changer les paramètres réseau de Native à Manual, redémarrez et l'erreur a disparu.

J'utilise RAD 8.0.4.3 avec une ancienne version d'EGit connectée à TFS/Git. ;-)

Eclipse Network Settings

0
Juan Carlos Puerto

j'ai essayé toutes ces méthodes, mais cela n'a pas fonctionné. Un collègue m'a dit que PuTTY Key Generator générait des clés de 1024 bits, mais que PuTTY génère des clés de 2048 bits par défaut. Il vous suffit donc de modifier le "Nombre de bits dans une clé générée "et cela devrait fonctionner.

0
muvunyi

J'ai finalement résolu ce problème en désactivant IPv6 sur le network configuration

Capture d'écran de ma configuration résea

Notez que j'utilise une connexion VPN. Si vous le faites aussi, vous devez le redémarrer. Je suis à peu près sûr que cela fonctionnera même si vous n'utilisez pas de VPN.

0
Savandy

pour résoudre le problème SSL, vous pouvez également essayer de le faire.

Téléchargez le fichier NetworkSolutionsDVServerCA2.crt à partir du serveur bitbucket et ajoutez-le au fichier ca-bundle.crt.

ca-bundle.crt doit être copié à partir du répertoire d'installation de git et copié dans votre répertoire personnel.

cp -r git/mingw64/ssl/certs/ca-bundle.crt ~ /

alors fais ceci. cela a fonctionné pour moi cat NetworkSolutionsDVServerCA2.crt >> ca-bundle.crt

git config --global http.sslCAInfo ~/ca-bundle.crt

git config --global http.sslverify true

0

J'avais mes paramètres de proxy configurés dans Eclipse et je n'étais pas connecté via ssh, ce qui était à l'origine de l'erreur.

0
Dino Velić

Le problème peut aussi être causé par une mauvaise heure système (de quelques années), rendant le certificat Git invalide.

0
user824276