Ich richte mein lokales Git-Projekt für ein Remote-Repository ein. Das Remote-Repository wird an einem nicht standardmäßigen Port (4019) bereitgestellt.
Aber es funktioniert nicht. Stattdessen erhalte ich folgende Fehlermeldung:
ssh: connect to host git.host.de:4019 port 22: Connection refused
fatal: The remote end hung up unexpectedly
error: failed to push to 'ssh://[email protected]:4019/var/cache/git/project.git'
Meine lokale Git-Konfiguration lautet wie folgt :
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://[email protected]:4019/var/cache/git/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
(Der Port und der Host sind Platzhalter für den tatsächlichen Port und Host.)
Was ist falsch an meiner Git-Konfiguration?
ssh://
die URL nicht explizit vor die URL stellen, sondern es handelt sich um ein anderes Format. sossh://example.com:444/etc/
ist / etc / auf example.com über Port 44. Währendexample.com:444/etc/
/ 444 / etc / auf example.com über Port 22.git remote set-url origin [email protected]:443/yourname/yourrepo/
es nicht funktionieren. Aber wenn Sie dies tun, wirdgit remote set-url origin ssh://[email protected]:443/yourname/yourrepo/
dies funktionierenAntworten:
Wenn Sie so etwas in Ihre
.ssh/config
:dann sollten Sie in der Lage sein, die grundlegende Syntax zu verwenden:
quelle
git clone ssh://username@hostname:333/~/repo
für einen Pfad relativ zu Ihrem Home-Verzeichnis odergit clone ssh://username@hostname:333/path/to/repo
für einen absoluten PfadDie SSH-basierte Git-Zugriffsmethode kann
<repo_path>/.git/config
entweder mithilfe einer vollständigen URL oder einer SCP-ähnlichen Syntax angegeben werden, wie unter http://git-scm.com/docs/git-clone angegeben :URL-Stil:
SCP-Stil:
Beachten Sie, dass der SCP-Stil keine direkte Portänderung zulässt und sich stattdessen auf eine
ssh_config
Hostdefinition in Ihrem~/.ssh/config
Beispiel stützt, z.Dann können Sie in einer Shell testen mit:
und ändern Sie Ihren SCP-URI
<repo_path>/.git/config
wie folgt :quelle
scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ssh://
meine zu ergänzenurl
. Wenn das Protokoll fehlt, verwendet git den Standardport :22
. Danke dir.Versuche dies
quelle
Dies vermeidet Ihr Problem, anstatt es direkt zu beheben, aber ich würde empfehlen, eine
~/.ssh/config
Datei hinzuzufügen und so etwas zu habendann kannst du haben
und du kannst auch
ssh git_host
undscp git_host ...
und alles wird klappen.quelle
SSH verwendet die
:
Syntax bei der Angabe eines Ports nicht. Der einfachste Weg, dies zu tun, besteht darin, Ihre zu bearbeiten~/.ssh/config
Datei und Folgendes hinzuzufügen:Geben Sie dann einfach
git.host.de
ohne Portnummer an.quelle