webentwicklung-frage-antwort-db.com.de

Fehler 'Kann Git-Upload-Pack nicht öffnen' in Eclipse beim Klonen oder Verschieben des Git-Repositorys

Ich kann bei Bitbucket in Eclipse weder klonen noch in ein Git-Repository pushen:

Error 'cannot open git-upload-pack'

Es ist komisch, denn einen Tag zuvor hatte ich kein Problem. Ich habe die sts 3 mal ohne Glück heruntergeladen. Dieser Fehler wird weiterhin angezeigt. Außerdem habe ich SourceTree installiert und es heißt "Dies ist kein gültiger Quellpfad/URL":

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

Wenn ich das Projekt mit git-Befehlen importiere, funktioniert es, aber ich möchte EGit nicht für diese Aufgabe verwenden, da ich ein Neuling mit git bin.

Ich weiß nicht, ob das damit zu tun hat, aber im selben Verzeichnis habe ich das Android-ADT-Bundle. Dieser funktioniert ziemlich gut, aber das Projekt liegt auf GitHub und nicht auf Bitbucket. Außerdem arbeite ich mit einer anderen Person zusammen, die Daten vom und zum Bitbucket-Repository abrufen und übertragen kann. Ich habe viele Beiträge gelesen, aber keiner hat mir geholfen.

Ich benutze übrigens Windows 7.

55
kiduxa

Schließlich habe ich es geschafft, dank der Schritte im Eclipse-Forum beschrieben :

Richten Sie den SSH-Schlüssel ein

  1. Laden Sie mysys git herunter und installieren Sie es gemäß den Anweisungen von github unter http://help.github.com/win-git-installation/
  2. Verstecken Sie in C:/Users/you/ssh alle vorhandenen Schlüssel (id_rsa und id_rsa.pub) in einem Unterverzeichnis. Wenn das SSH-Verzeichnis nicht vorhanden ist, erstellen Sie es. Natürlich ist "Sie" Ihr Benutzername, wie das Betriebssystem Sie kennt.
  3. Führen Sie im Startmenü die Git-Bash-Befehlsshell aus (eine normale DOS-Befehlsshell funktioniert nicht).
  4. In der Git-Bash-Shell generieren Sie einen RSA-Schlüssel basierend auf Ihrer E-Mail-Adresse (die Sie bei github registriert haben): ssh-keygen -t rsa -C "[email protected]" und geben Sie Ihre Passphrase ein und bestätigen Sie, wenn Sie dazu aufgefordert werden.
  5. Im vorherigen Schritt sollte C: /User/you/ssh/id_rsa.pub erstellt worden sein, das Sie jetzt in einem Texteditor öffnen und kopieren können. Gehen Sie bei Github zu Kontoeinstellungen, SSH-Schlüssel, fügen Sie einen Schlüssel hinzu und fügen Sie diesen in das Schlüsselfeld ein.
  6. Wieder in Git-Bash (beachte die Back-Ticks in der nächsten Zeile): eval `ssh-agent` ssh-add C:/User/you/ssh/id_rsa ssh [email protected]

Folgendes haben Sie gerade getan: Sie haben den ssh-Agenten ausgeführt, der von ssh-add benötigt wird. Dann haben Sie mit ssh-add den Speicherort Ihres Schlüssels notiert. Dann hast du versucht, auf GitHub zu sshen. Die Antwort auf diesen letzten Befehl sollte lauten, dass Sie sich erfolgreich bei GitHub authentifiziert haben, aber keinen Shell-Zugriff haben. Dies ist nur ein Authentifizierungstest. Wenn die Authentifizierung nicht erfolgreich war, müssen Sie das klären. Probieren Sie die ausführliche Version:

ssh -v [email protected]

Vorausgesetzt das hat funktioniert ....

Konfigurieren Sie in Eclipse den Remote-Push

  1. Fenster > Ansicht anzeigen > Git > Git-Repositorys fügen ein Repository-Explorer-Fenster hinzu.
  2. Wählen Sie im Repository-Fenster das Repository aus und erweitern Sie, klicken Sie mit der rechten Maustaste auf Remotes und wählen Sie Create Remote .
  3. Kopieren Sie den GitHub-Repository-URI von der GitHub-Repository-Seite und fügen Sie ihn in das URI-Feld ein.
  4. Wählen Sie ssh als Protokoll aus, kehren Sie dann zum URI-Feld zurück und fügen Sie "git +" am Anfang hinzu, sodass es so aussieht:

    git + ssh: //[email protected]/UserName/ProjectName.git

  5. Entfernen Sie im Feld Repository Path den führenden Schrägstrich

  6. Drücken Sie Weiter und drücken Sie die Daumen. Wenn Sie "auth fail" erhalten, starten Sie Eclipse neu und wiederholen Sie Schritt 5.
  7. Wenn Sie die Authentifizierung hinter sich haben, wählen Sie im nächsten Dialogfeld "Master" als Quellreferenz aus und klicken Sie auf "Alle Zweigspezifikationen hinzufügen" und "Fertig stellen".

Anstatt SSH [email protected] zu verwenden, habe ich es mit SSH [email protected] gemacht.

Jetzt kann ich problemlos pushen und importieren.

7
kiduxa

Könnte auch schlechtes SSL-Zertifikat sein, den Server reparieren

Wenn Sie einen GIT-Server mit einem veralteten oder selbstsignierten SSL-Zertifikat haben, sollte danach alles einwandfrei funktionieren.

Unsicherer Hotfix: Lassen Sie den Client jedes Zertifikat akzeptieren

Die folgende Lösung ist nur ein Hotfix auf der Clientseite und sollte vermieden werden , da sie die Sicherheit Ihrer Anmeldeinformationen und Inhalte gefährdet. Eine ausführliche Erklärung hierfür finden Sie in " Wie kann ich git dazu bringen, ein selbstsigniertes Zertifikat zu akzeptieren? ", das komplexere und sicherere Lösungen bietet, die Sie ausprobieren können, wenn die folgenden Punkte im Allgemeinen zutreffen.

In meinem Fall verwendete Eclipse einen anderen Speicher für die git config als die Befehlszeile und hatte daher keine Option

git config http.sslVerify false

set (was ich mit der Kommandozeile für das Repo gesetzt habe für die Arbeit mit ungültigen/nicht vertrauenswürdigen SSL-Zertifikaten ).

Durch Hinzufügen der Option in Eclipse wird das Problem sofort behoben. Option hinzufügen

  1. einstellungen über das Anwendungsmenü öffnen Fenster => Einstellungen (oder unter OSX Eclipse => Einstellungen ).
  2. Navigiere zu Team => Git => Konfiguration
  3. klicken Add entry..., dann http.sslVerify im Schlüsselfeld und false im Wertefeld.

Scheint eine gültige Lösung für Eclipse 4.4 (Luna), 4.5.x (Mars) und 4.6.x (Neon) auf verschiedenen Betriebssystemen zu sein.

113
NextThursday

Dies geschieht aus folgenden Gründen:

1) Firewall.

2) Netzwerkprobleme.

3) Proxy-Einstellungen stimmen nicht überein

4) Verbunden über einen anderen Router - der im Netzwerk nicht autorisiert ist.

5) Details zur Git Proxy-Authentifizierung

13

Eine Ursache hierfür ist, dass Fiddler2 so konfiguriert ist, dass HTTPS-Verkehr entschlüsselt wird. Schließen Sie Fiddler2 und es sollte gut funktionieren.

6
Aaron Axvig

Nachdem ich einige Stunden gekämpft hatte, stellte ich fest, dass die Konfigurationsdatei von git nicht aktualisiert wurde, als ich den Eintrag sslVerify = false In meine Eclipse einfügte.

Ich habe mein Problem gelöst, indem ich in mein .git - Verzeichnis navigiert und die config -Datei folgendermaßen aktualisiert habe:

[http]
    sslVerify = false
6
Radouane ROUFID

Ich fügte hinzu -Dhttps.protocols=TLSv1.1,TLSv1.2 bis Eclipse.ini und es funktioniert. Ich benutze Java 1.7

5
liox

Dieses Problem kann auftreten, wenn Sie über eine lokale Firewall verfügen, die verhindert, dass Ihre Anwendung Netzwerkverkehr von Ihrem Computer wegleitet. Das heißt Regeln für ausgehenden Verkehr oder ausgehenden Verkehr.

Bitte deaktivieren Sie Ihre Firewall, um schnell zu testen, ob das Problem dadurch behoben wird. Wenn dies der Fall ist, richten Sie die entsprechende Firewall-Richtlinie für die Anwendung ein, die Sie zum Pushen oder Ziehen in ein Git-Repository verwenden möchten.

4
user560663

Vor kurzem habe ich das gleiche Problem mit dem vorhandenen Repository. Wenn ich versuche, vom Upstream abzurufen, kann ich kein Objekt abrufen und habe Probleme. Eclipse: Kann git-upload-pack nicht öffnen.

für mich funktioniert die folgende Lösung nach dem Hinzufügen der TLS-Version in der Datei Eclipse.ini

Dhttps.protocols = TLSv1.1, TLSv1.2

Für Java7 muss TLSv1.1 hinzugefügt werden und für Java8 muss TLSv1.2 hinzugefügt werden

Hinweis: Eclipse muss über der hinzugefügten Konfiguration neu gestartet werden.

3
Hardik Lotiya

In meinem Fall stellte sich heraus, dass globale Proxy-Einstellungen in "Einstellungen-> Netzwerkverbindungen" git störten. Das ist etwas verwirrend, da git eine dedizierte Eigenschaft für die Proxy-Konfiguration hat. Wie auch immer, ich habe Repository Host zur "Proxy Bypass" Liste hinzugefügt und das Problem war weg.

3
iTake

Ich habe das gleiche Problem, als ich einen neuen Laptop mit Windows8/Kaspesky installiert habe. Ich habe Probleme mit Eclipse: git-upload-pack kann nicht geöffnet werden. Ich habe auch Probleme mit Maven. Ich habe auch ein Problem mit Skype.

Als ich Kaspersky deaktiviert habe, hat alles richtig funktioniert.

2

Fügen Sie https.sslVerify als false hinzu, wenn Sie die https-Verbindung zum Importieren aus git verwenden

1
Niranjan S

Für diejenigen, die immer noch dieses Problem haben und keine der oben genannten Lösungen hat für Sie funktioniert:
Aktualisieren Sie Ihre Versionen von Java und Eclipse.
In meinem Fall habe ich von Java 7 auf Java 9 und Eclipse Mars auf Eclipse Oxygen aktualisiert, und dieses Problem wurde behoben !! !

1
Upendra

Ich habe gerade die gleiche Fehlermeldung erhalten: "git-upload-pack kann nicht geöffnet werden" in Eclipse mit einem BitBucket-Repo, das versucht, einen Pull oder Push auszuführen. Ich habe es gelöst, indem ich die lokalen Zweige (Team/Switch To) in den Master-Zweig gewechselt und einen Pull ausgeführt habe und dann zurück zu dem Zweig gewechselt habe, an dem ich gearbeitet habe, und wieder gezogen habe.

1
kris

Ich habe das ähnliche Problem. Ich habe gerade die folgenden Schritte ausgeführt: 1. Team> Remote> Abruf von Upstream konfigurieren ... 2. Geben Sie das https: bit-Bucket uri und dann Save and Fetch an. 3. Setzen Sie das letzte Commit in Ihrem Projekt zurück. Team> Zurücksetzen> Wählen Sie das letzte Commit aus dem Remote-Ordner aus. 4. Synchronisieren Sie anschließend den Arbeitsbereich. Team> Synchronisieren (in der Synchronisierungsperspektive) 5. Klicken Sie mit der rechten Maustaste auf das Projekt und überschreiben Sie die lokale Kopie. 6. Klicken Sie auf das Pull-Symbol.

1
zishan paya

Ich verwende Eclipse Kepler SR2 unter Ubuntu 12.04LTS und habe versucht, über HTTPS auf einen internen GitHub zuzugreifen. Leider hatte meine zugrunde liegende JVM, mit der Eclipse gestartet wurde, Probleme mit dem selbstsignierten Zertifikat des Servers. Beim Wechsel zu einer anderen JVM für Eclipse funktionierte die HTTPS-Verbindung zu unserem GitHub.

Erstellen Sie einen einfachen Eclipse-Starter, der ein anderes JDK verwendet, z. mit OpenJDK: /Eclipse_Kepler_4.4.2/Eclipse -vm /usr/lib/jvm/Java-6-openjdk-i386/jre/bin

1
S F

In meinem Fall habe ich nicht die richtige URL verwendet, die über die Schaltfläche "Klonen" in GitLab bereitgestellt wurde: GitLab button clone

0
RotS

Ich habe diese Fehlermeldung erhalten, weil ich einen anderen Benutzer hatte als das Repo in meiner Git-Konfiguration erwartet hatte.

Dies würde offensichtlich die oben erwähnten SSL-Zertifikatsfehler auslösen.

Das Korrigieren des korrekten Benutzers löste dieses Problem für mich.

0
kirenpillay

Ich hatte ein ähnliches Problem und eine schnelle Lösung für Ihr Problem besteht darin, sicherzustellen, dass Sie Ihre JVM-Option in der Eclipse.ini-Datei für die Verwendung von jre7 festgelegt haben. Ältere Jres werden mit einer alten lokalen Richtliniendatei ausgeliefert, die Fehler zurückgibt. Eine kurze Anmerkung ist auch, dass Sie auf Ihren Javaw zeigen müssen, nicht auf Java.

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

0
rokeefe

Die Lösung hierfür in Eclipse Mars 4.5.2: Fenster -> Einstellungen -> Team -> Git -> Repository-Einstellungen -> AddEntry-Schlüssel: http.sslVerify Wert: false

0
Pawan J

Ich habe gerade die Netzwerkeinstellungen von Native in Manual geändert, neu gestartet und der Fehler ist behoben.

Ich verwende RAD 8.0.4.3 mit einer alten Version von EGit, die mit TFS/Git verbunden ist. ;-)

Eclipse Network Settings

0

ich habe alle diese Methoden ausprobiert, aber es hat nicht funktioniert, als mir ein Arbeitskollege sagte, dass der PuTTY-Schlüsselgenerator zum Generieren von Schlüsseln mit 1024 Bits verwendet wurde. Jetzt generiert PuTTY standardmäßig 2048-Bit-Schlüssel, sodass Sie nur die "Anzahl der Bits" ändern müssen in einem generierten Schlüssel "und es sollte funktionieren.

0
muvunyi

Ich habe dieses Problem endlich gelöst, indem ich IPv6 Auf dem network configuration Deaktivierte.

Screenshot meiner Netzwerkkonfiguration

Beachten Sie, dass ich eine VPN-Verbindung verwende. Wenn Sie dies auch tun, müssen Sie es neu starten. Ich bin mir ziemlich sicher, dass es funktionieren wird, auch wenn Sie kein VPN verwenden.

0
Savandy

um das SSL-Problem zu beheben, können Sie auch versuchen, dies zu tun.

Laden Sie die Datei NetworkSolutionsDVServerCA2.crt vom Bitbucket-Server herunter und fügen Sie sie der Datei ca-bundle.crt hinzu

ca-bundle.crt muss aus dem Git-Installationsverzeichnis in Ihr Ausgangsverzeichnis kopiert werden

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

dann mach das. das hat bei mir funktioniert cat NetworkSolutionsDVServerCA2.crt >> ca-bundle.crt

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

git config --global http.sslverify true

Ich hatte meine Proxy-Einstellungen in Eclipse eingerichtet und war nicht über ssh verbunden, was den Fehler verursachte.

0
Dino Velić

Das Problem kann auch durch eine falsche Systemzeit (um einige Jahre) verursacht werden, wodurch das Zertifikat des Gits ungültig wird.

0
user824276