Windows, Git и S SH URL / путь к пустому хранилищу - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь настроить репозиторий git на нашем Windows сервере.
Я установил OpenS SH для Windows и Git для Windows.
OpenS SH сервер работает на порту 2345 для фильтрации общих c ботов.

Я создал пустой и общий репозиторий на C: \ git \ protocolrepo. git
Я не смог добраться до него с помощью URL:

ssh://User@domain@server.com:2345:C:/git/protocol.git

Кажется, для меня это неправильно сформированный URL, но везде, где я смотрю в Интернете, я получаю это, но оно просто не работает.

Как я выяснил в этой теме: https://github.com/PowerShell/Win32-OpenSSH/issues/895, причиной может быть оболочка, поэтому я установил powershell в качестве оболочки по умолчанию для OpenS SH.
Это тоже не сработало, и мне все еще нужно было использовать этот странно сформированный URL.
Поэтому я установил Cygwin и установить Cygwin bash в качестве оболочки по умолчанию и использовать более правильно сформированный URL:

ssh://User@domain@server.com:2345/cygdrive/c/git/protocol.git 

Я добился немного большего успеха с этим, но теперь он сообщает следующее сообщение об ошибке:

fatal: '/cygdrive/c/git/protocol.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

Права доступа должны быть хорошими, так как я полностью использую одного и того же пользователя, но я не уверен на 100%, как это работает на Windows.
Я тоже не уверен, как работает Git / s sh обрабатывает этот путь на Windows.

На сервере Linux это прекрасно работало с путем /git/protocol.git.

Перенос новой ветки в пустой репозиторий - это то, чего я тоже давно не делал, так что это может быть и неправильно, но я не могу вспомнить, чтобы это было проблемой.

Что бы вы порекомендовали для устранения этой проблемы?

1 Ответ

0 голосов
/ 22 апреля 2020

Я бы начал с проверки, работает ли интерактивный сеанс S SH, прежде чем рассмотреть возможность использования URL-адреса Git репо S SH.

ssh -p 2345 User@domain@server.com

Если это так, попробуйте получить доступ к /C/git/protocol.git в этой интерактивной оболочке.

Если это работает, попробуйте для своих git команд URL

ssh://User@domain@server.com:2345/C/git/protocol.git
# or
ssh://User@domain@server.com:2345/c/git/protocol.git
...