Я настраиваю свой локальный проект git для удаленного репозитория. Удаленный репозиторий обслуживается через нестандартный порт (4019).
Но не работает. Вместо этого я получаю следующее сообщение об ошибке:
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://root@git.host.de:4019/var/cache/git/project.git'
Моя локальная конфигурация git выглядит следующим образом :
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://root@git.host.de:4019/var/cache/git/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
(Порт и хост являются заполнителями для фактического порта и хоста.)
Что не так с моей конфигурацией git?
ssh://
URL-адрес, он подумает, что это другой формат. такssh://example.com:444/etc/
и / etc / на example.com через порт 44. В то времяexample.com:444/etc/
как / 444 / etc / на example.com через порт 22.git remote set-url origin git@altssh.bitbucket.org:443/yourname/yourrepo/
это не сработает. но, если выgit remote set-url origin ssh://git@altssh.bitbucket.org:443/yourname/yourrepo/
это сделаете, это будет работатьОтветы:
Если вы поместите что-то подобное в свой
.ssh/config
:тогда вы сможете использовать основной синтаксис:
источник
git clone ssh://username@hostname:333/~/repo
для пути относительно вашего домашнего каталога илиgit clone ssh://username@hostname:333/path/to/repo
для абсолютного путиМетод доступа git на основе SSH может быть указан с
<repo_path>/.git/config
использованием либо полного URL-адреса, либо синтаксиса, подобного SCP, как указано в http://git-scm.com/docs/git-clone :Стиль URL:
Стиль SCP:
Обратите внимание, что стиль SCP не допускает прямого изменения порта, вместо этого полагаясь на определение
ssh_config
хоста в вашем,~/.ssh/config
например:Затем вы можете протестировать в оболочке с помощью:
и измените свой URI в стиле SCP
<repo_path>/.git/config
следующим образом:источник
scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ssh://
к моемуurl
. Если протокол отсутствует , то Git использует порт по умолчанию:22
. Спасибо.Попробуй это
источник
Это позволяет избежать вашей проблемы, а не исправлять ее напрямую, но я бы рекомендовал добавить
~/.ssh/config
файл и иметь что-то вроде этоготогда ты можешь иметь
и вы можете также
ssh git_host
иscp git_host ...
и все будет работать.источник
SSH не использует
:
синтаксис при указании порта. Самый простой способ сделать это - отредактировать~/.ssh/config
файл и добавить:Тогда укажите просто
git.host.de
без номера порта.источник