Как сделать клон репо в Windows с другого компьютера в локальной сети? - PullRequest
35 голосов
/ 05 марта 2011

У меня есть этот git repo "c: / xampp / htdocs / **" на моем главном ПК, и его IP-адрес 192.168.0.6. Теперь я хочу скопировать этот репозиторий с Ubuntu-сервера, который работает на Vmware Player на моем основном ПК.

Я сделал

 git clone \\192.168.0.6\c:\xampp\htdocs\****

и

 git clone //192.168.0.6/c:/xampp/htdocs/****

с ubuntu-сервера и ни один не работал.

fatal: could not create work tree dir '****'.: Permission denied

Что я не так сделал? что мне делать?

Ответы [ 7 ]

23 голосов
/ 01 мая 2011

Убедитесь, что ваша папка c: / xampp / htdocs (или ее подпапки) является общей в Windows, поэтому вы можете перемещаться по сети по этому адресу:

\\192.168.0.6\htdocs

Затем вы клонируетеиспользуя файл: ////.Обратите внимание, что есть четыре слеша:

git clone file:////192.168.0.6/htdocs/somerepo.git
23 голосов
/ 08 марта 2011

Чтобы получить доступ к репо, вы должны либо предоставить ему общий доступ на 192.168.0.6, либо быть тем же пользователем домена, что и владелец файла на 192.168.0.6.

Если вы используете общий каталог на 192.168.0.6 (например, с общим именем myrepo), вы получаете к нему доступ с помощью //192.168.0.6/myrepo.

Если вы вошли в свой ящик с учетной записью пользователя, известной на 192.168.0.6, вы можете попробовать получить доступ крепо через административные ресурсы:

//192.168.0.6/c$/xampp/htdocs/...

Всегда используйте прямые косые черты.

Другой альтернативой может быть использование SSH для доступа к удаленному компьютеру.

22 голосов
/ 23 сентября 2015

Вы должны использовать команду git daemon для размещения своего репо, например:

На вашем компьютере, который будет выполнять роль сервера:

git daemon --base-path=<path_to_folder_containing_project_folder> --export-all

(обратите внимание, что path_to_folder_containing_project - это папка, содержащая папки ваших проектов, она будет содержать все проекты в этой папке)

В вашем клиенте:

git clone git://<local ip>/<project name>

Клонированное хранилище будет иметь источник, указывающий на сервер в вашей локальной сети, поэтому вы можете использовать git remote set-url origin для указания его исходного источника.

Возможно, вы захотите запустить git daemon с опцией --verbose, чтобы получить более подробную информацию в случае возникновения проблем.

2 голосов
/ 17 декабря 2014

Чтобы сделать git-репо в локальной сети Windows, вам нужно сделать следующее:

  1. Создать новое репо

    git init --bare projectName.git

  2. Поделитесь этой папкой (projectName.git) с нужными вам пользователями

  3. Найдите ip своего ПК с помощью команды ipconfig (например, 192.168.2.101)
  4. Выполнить эту команду с компьютера какого-либо пользователя

    git clone //192.168.2.101/projectName.git

Примечание: открыть \\ 192.168.2.101 вискатель, чтобы увидеть правильный путь к projectName.git (например, //192.168.2.101/some/path/projectName.git)

2 голосов
/ 05 марта 2011

Использование explorer (smb) для монтирования удаленного репозитория в качестве общего сетевого ресурса - самый простой способ. Я не совсем уверен, но я думаю, что вы можете ошибаться. Попробуйте file:///192.168.0.6\c:\xampp... вместо.

Есть две вещи, которые могли бы пойти вам не так:

  • У вас нет разрешения на чтение в удаленном хранилище
  • У вас нет разрешения на запись в место, где вы хотите создать свой репозиторий (текущий рабочий каталог или каталог, который вы указываете в качестве второго аргумента для git clone)

А также проверьте, работает ли ваш сервер samba для нормального доступа к файлам.

1 голос
/ 22 декабря 2018

Недавно я столкнулся с этой ошибкой при попытке клонировать хранилище на удаленном компьютере на локальный компьютер в той же сети LAN.Решение состояло в том, чтобы сначала убедиться, что местоположение диска на удаленном компьютере имеет правильные права доступа для локального компьютера (чтение / запись, которое можно установить с помощью параметров общего доступа к Windows). Скопируйте путь к удаленному хранилищу.На вашем локальном компьютере вставьте путь в окно проводника Windows.Затем скопируйте его адрес каталога и вставьте его в любой браузер.Теперь вы должны получить ссылку с именем хоста и правильным форматом URL для клонирования.Используйте эту ссылку, чтобы клонировать хранилище на локальном компьютере.

Надеюсь, это поможет.Приветствия.

0 голосов
/ 05 ноября 2013

"У меня есть несколько разных компьютеров , которые я использую дома, и я хотел настроить GIT, чтобы я мог получить доступ к своему коду с любого из них. Это заняло у меня немного времени, потому что я слишком привыкработая с моделью клиент-сервер, где я определяю одну машину как «сервер», который содержит репозиторий, а все остальное является клиентом. Вместо этого GIT работает скорее как инструмент слияния, и каждая локальная копия - это собственный «мастер».Как только я понял это, оказалось, что настройка GIT очень проста, и ему нужен только GIT и SSH ".

Чтобы узнать больше, вы можете проверить эту ссылку: http://blog.lazyhacker.com/2010/04/setting-up-git-for-home-network.html

...