Git-сервер под Windows, использующий FreeSSHd

Я пытаюсь настроить git в качестве сервера в Windows.

  1. Установил freesshd, настроил его и проверил ssh с машины linux, все работает.
  2. Скачал Git для Windows и установил его, в PATH добавили git\bin и git\libexec\git-core
  3. Сделал голый репозиторий в d:\GitRepo\u7.git

когда я пытаюсь

git clone serhiy@192.168.75.2:d:/gitrepo/u7.git

Я хорошо знаю "плохой символ длины строки: фата".

Но печатать

ssh 192.168.75.2 git-receive-pack d:/gitrepo/u7.git

У меня есть юридический ответ

00900000000000000000000000000000000000000000 возможности ^{} отчет-состояние delete-refs side-band-64k quiet ofs-delta agent=git/1.8.1.msysgit.1 0000

Что может быть не так? Как я понял, я не могу добраться до нужной папки, пока "git clone", я попробовал ssh://, sh.exe вместо cmd.exe, попробовал cmd /K "d: && cd \gitrepo", чтобы установить текущий папка и ничего. Но у меня работает git-receive-pack d:/gitrepo/u7.git. Нужно ли указывать текущую папку для хранилища?

ОБНОВЛЕНИЕ: Прочитав последний пост в этой теме, я создал файлы с указанием и клонированный проект

Создайте файл gup.sh со строкой

git-upload-pack.exe $*

и grp.sh с

git-receive-pack.exe $*

на сервере!

Потом клон репозитория

git clone -u 'sh gup.sh' ssh://serhiy@192.168.75.2/d/gitrepo/u7.git

и установить некоторые конфиги

git config --global remote.origin.uploadpack 'sh gup.sh'
git config --global remote.origin.receivepack 'sh grp.sh'

Кажется, это работает под Linux. Под окнами я не могу просто войти, запретить Permession.

ОБНОВЛЕНИЕ: Поскольку я перешел на использование ключей RSA, все работает, поэтому у меня есть:

  1. Windows Server 2003
  2. На нем установлен FreeSHHd
  3. Доступ с компьютеров Linux и Windows к Git-репозиторию с использованием аутентификации RSA.
  4. В качестве оболочки на сервере я использую git's sh.exe
  5. Самый странный способ клонировать хранилище в первый раз git clone -u 'sh gup.sh' ssh://192.168.75.2/d/gitrepo/u7.git

0 ответов

Другие вопросы по тегам