Je configure mon projet git local pour un référentiel distant. Le référentiel distant est servi sur un port non standard (4019).
Mais ça ne marche pas. Au lieu de cela, j'obtiens le message d'erreur suivant:
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'
Ma configuration git locale est la suivante :
[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
(Le port et l'hôte sont des espaces réservés pour le port et l'hôte réels.)
Quel est le problème avec ma configuration git?
ssh://
devant l'URL, cela pense que c'est un format différent. il enssh://example.com:444/etc/
est de même pour / etc / sur example.com via le port 44. Alors queexample.com:444/etc/
pour / 444 / etc / sur example.com via le port 22.git remote set-url origin [email protected]:443/yourname/yourrepo/
ne fonctionnera pas. mais, si vous faitesgit remote set-url origin ssh://[email protected]:443/yourname/yourrepo/
cela fonctionneraRéponses:
Si vous mettez quelque chose comme ça dans votre
.ssh/config
:alors vous devriez pouvoir utiliser la syntaxe de base:
la source
git clone ssh://username@hostname:333/~/repo
pour un chemin relatif à votre répertoire personnel ougit clone ssh://username@hostname:333/path/to/repo
pour un chemin absoluLa méthode d'accès git basée sur SSH peut être spécifiée en
<repo_path>/.git/config
utilisant une URL complète ou une syntaxe de type SCP, comme spécifié dans http://git-scm.com/docs/git-clone :Style d'URL:
Style SCP:
Notez que le style SCP n'autorise pas un changement de port direct, s'appuyant plutôt sur une
ssh_config
définition d'hôte dans votre~/.ssh/config
tel que:Ensuite, vous pouvez tester dans un shell avec:
et modifiez votre URI de style SCP
<repo_path>/.git/config
comme suit :la source
scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ssh://
à monurl
. Si le protocole est manquante, utilise le port par défaut git:22
. Je vous remercie.Essaye ça
la source
Cela évite votre problème plutôt que de le résoudre directement, mais je vous recommande d'ajouter un
~/.ssh/config
fichier et d'avoir quelque chose comme çaalors tu peux avoir
et vous pouvez aussi
ssh git_host
etscp git_host ...
et tout fonctionnera.la source
SSH n'utilise pas la
:
syntaxe lors de la spécification d'un port. Le moyen le plus simple de le faire est de modifier votre~/.ssh/config
fichier et d'ajouter:Puis spécifiez juste
git.host.de
sans numéro de port.la source