Git клон / тянуть через локальную сеть

Я пытаюсь клонировать / вытащить хранилище на другом ПК с помощью Ubuntu Quantal. Я делал это на Windows раньше, но я не знаю, в чем проблема в Ubuntu. Я попробовал это:

git clone file:////pc-name/repo/repository.git
git clone file:////192.168.100.18/repo/repository.git
git clone file:////user:pass@pc-name/repo/repository.git
git clone smb://c-pc/repo/repository.git
git clone //192.168.100.18/repo/repository.git

Всегда получаю:

Cloning into 'intranet'...
fatal: '//c-pc/repo/repository.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

или же

fatal: repository '//192.168.100.18/repo/repository.git' does not exist

Больше:

  • Другой компьютер имеет имя пользователя и пароль
  • Это не проблема сети, я могу получить доступ и проверить его.
  • Я только что установил git apt-get install git (зависимости установлены)
  • Я запускаю git из терминала (я не использую git-shell)

Что вызывает это и как это исправить? Любая помощь будет отличной!

ОБНОВИТЬ

Я клонировал репо на Windows, используя git clone //192.168.100.18/repo/intranet.git без проблем. Итак, репо доступно и существует! Может быть, проблема связана с учетными данными пользователя?

3 ответа

Решение

Это зависит от того, как у вас настроен сервер для обслуживания контента.

Если по ssh:

git clone user@192.168.100.18:repo/repository.git

или если веб-сервер предоставляет контент (http или https)

https://user@192.168.100.18/repo/repository.git

или если доступно через путь к файлу:

git clone file://path/to/repo

или если на сервере запущен демон git:

git clone git://192.168.100.18/repo

Руководство для git-clone говорит:

Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols

Обратите внимание, что SMB нет в списке.

При беге git в Windows //host/path Синтаксис работает, потому что ОС поддерживает его изначально - удаленные пути SMB могут использоваться везде, где можно использовать локальный путь. Это не относится к Unix, где SMB - вещь чуждая, и // эквивалентно / в алгоритме разрешения пути.

смонтировать удаленную файловую систему, тогда у вас будет возможность обращаться к ней с помощью пути в стиле Unix, который git (и любой другой инструмент в системе) понимает.

Для получения информации о монтировании smbfs: https://askubuntu.com/questions/137011/how-to-mount-a-samba-shared-folder-ubuntu-x-ubuntu

Эта проблема похожа на https://stackoverflow.com/questions/5200181/how-to-git-clone-a-repo-in-windows-from-other-pc-within-the-lan. Возможно, административный ресурс помогает решить проблему (например, //pc-name/c$/path/to/repo)

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