Git clone / pull через локальную сеть [закрыто]

17

Я пытаюсь клонировать / вытащить хранилище на другом ПК с помощью 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без проблем. Итак, репо доступно и существует! Может быть, проблема связана с учетными данными пользователя?

Томас Рамирес
источник
Я не совсем уверен, принадлежит ли этот вопрос здесь, но я видел подобные вопросы на SF
Томас Рамирес

Ответы:

26

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

Если более 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
89c3b1b8-b1ae-11e6-b842-48d705
источник
3
В Windows я использую клонирование git clone //192.168.100.18/repo/repository.git, но ранее я вошел в систему 192.168.100.18обработки, так что это file://способ?
Томас Рамирес
1
полезный ответ, спасибо! Чтобы клонировать репозиторий, расположенный в общей папке Windows, я использовалgit clone file://\\\PC1\path-to-repo-dir
Ivan Ferrer Villa
@IvanFerrerVilla почти, фактический путь:file:///\\PC1\path-to-repo-dir
Mikl X
@MiklX а как бы вы включили имя пользователя и пароль?
m4l490n
13

Руководство для 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: /ubuntu/137011/how-to-mount-a-samba-shared-folder-ubuntu-x-ubuntu

Сообщество
источник
3

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

Джефф Стис-Холл
источник
нет, это тот же случай, но не та же проблема, я читал эту ветку раньше: / и каталог репозитория распределяется правильно
Томас Рамирес