msysgit Probleme
So, ich glaube, ich habe einige echte Probleme einrichten von msysgit. Ich kann eine Verbindung per putty auf meine SSH-Verzeichnis mit
ssh://user@host:port
Und ich habe die richtigen Schlüssel. Ich kann auch mit plink über die
plink -P PORT user@host -i /Pfad/zu/private_key.ppk
Wenn ich Versuch zu laufen (über TortiseGIT) oder über ein git-bash
git clone ssh://user@host:port/path/to/myapp.git
Ich einfach immer die Fehler
Initialized empty Git repository in D:/Git/myapp.git
Warnung: Sie scheinen ein leeres repository geklont.
fatal: The remote end hung up unerwartet
Habe ich überprüft bot /Git/setup.ini und TortiseGIT und beide
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe
Weiß jemand, wie kann ich dieses problem beheben, da seine mich verrückt!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein wenig eine check-Liste:
Haben Sie die ssh-Schlüssel in der richtigen Stelle für GIT?
Vorschläge:
1: Da können Sie eine Verbindung über putty, sieht aus wie ssh-setup ist ok.
2: Verwenden Sie putty und eine Verbindung zum server herstellen. Geben Sie in
git --version
kommst du wieder eine vernünftige Antwort? Wenn nicht, dann müssen Sie auf dem server installieren.3:Versuchen Sie die Einrichtung eines neuen repository auf dem server. Angenommen es ist ein *nix-Stil-server verwenden Sie putty und eine Verbindung zum server herstellen und ein neues repository mit den folgenden Befehlen, vorausgesetzt, Sie haben ein Verzeichnis /home/source_code. Die echo-Zeile macht einfach eine Datei mit etwas text, damit wir etwas haben, um mit zu beginnen.
So, jetzt haben wir ein Projektarchiv mit einem t.txt -Datei. Als eine Regel sollten Sie nie pushen in ein repository enthält die änderungen an der Arbeitskopie. Der Zweck des habens ein repository auf dem server, so dass die Menschen drängen in es die ganze Zeit. Machen wir ein "bare" - Klon, was nur der git-Datenbank, so gibt es keine Möglichkeit, jede Arbeitskopie änderungen. Es ist das "bare" - Klon, die wir benutzen werden als das zentrale git-repository.
Nun können Sie loszuwerden, die temporären Speicher, die wir einrichten.
Auf Ihrem lokalen computer versuchen, Klonen wieder
4: Berechtigungen: Dies sollte nicht dazu führen, ein problem mit dem Klonen, das abrufen oder ziehen, es sei denn, Sie ausgewählt haben ein Speicherort für das repository, die keinen Lesezugriff haben. Wenn Sie erhalten eine Zugriff verweigert Fehler beim zurückschieben dann finden Sie Berechtigungen Korrektur
5: einrichten der public - /private key für GIT:
chmod 700 .ssh
chmod 600 authorized_keys
ssh-keygen -t dsa
cat id_dsa.pub >> .ssh/authorized_keys
PubkeyAuthentication yes
sudo /etc/init.d/ssh restart
id_dsa
undid_dsa.pub
vom server auf Ihre lokale Festplatte (winscp oder sftp oder ähnliches tool) c:\users\userName\.ssh Verzeichnis (das ist für vista ist der Pfad ein wenig anders, für andere windows-Versionen)Sowohl die Kommandozeilen-git, tortoise git sollte sein setup zu arbeiten. Versuchen Sie das Klonen erneut auf Ihrem lokalen Rechner.
Könnten Sie jetzt gehen wollen, und wiederholen Sie die Einstellung, bis der Schlüssel mit einer passphrase....
Zu installieren, müssen Sie Pageant und fügen Sie den Schlüssel hinein.
Auch überprüfen, dass Ihr GIT_SSH Umgebungsvariable für die Verwendung von plink
Gibt es alles, (d.h. mindestens ein commit) in das remote-repo ?
git sagt: "Warnung: Sie scheinen ein leeres repository geklont"
und wenn Sie wollen, schieben Sie in den leeren remote-repo Sie haben zu verwenden:
Haben Sie versucht, die Verbindung von Git-Bash mit ssh user@host:port? Hat es eine direkte Verbindung oder Fragen Sie nach einem Passwort?
Anschluss ist nur erforderlich, wenn Sie eine nicht-standard-port für ssh-ansonsten wird es standardmäßig auf 22. Es ist eine Sache von Putty, aber stellen Sie sicher, dass Sie eine Verbindung herstellen können aus der git-bash, weil es in der Regel haben Ihre eigenen Schlüssel, gespeichert in einem .ssh-Verzeichnisses von Ihrem user-Verzeichnis. Wenn Sie nicht bekommen kann, dass die Arbeit von Git-Bash, die Sie beheben müssen Sie die Taste oder Debuggen, wo das problem ist, versuchen Sie, den Schlüssel mithilfe
ssh-i keyfile user@host:port
wenn das nicht funktioniert, oder Sie werden aufgefordert für ein Kennwort für die remote-Maschine, es bedeutet Austausch der Schlüssel nicht richtig funktioniert. So müssen Sie gehen Sie durch die überprüfung der Tasten setup korrekt mit Bezug auf die Git-Bash-Umgebung. Insbesondere stellen Sie sicher, dass Sie haben, exportiert das RSA-Schlüssel und sind nicht einfach mit den ppk-Schlüssel (mit Git-Bash. Ich glaube nicht, das unterstützt wird. Ich glaube nicht, verwenden Tortoise-Git, also kann ich nicht helfen, aber ich nutze Git Bash regelmäßig.