Как я могу git clone 'с другого компьютера?

На одной машине (IP-адрес 192.168.1.2) я создаю репозиторий Git

$ cd /home/hap/working
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'

И у меня есть другая машина в той же сети Wi-Fi. Как я могу получить клон с другой машины?

Ответ 1

Для выполнения клонирования Git вам нужно использовать git + ssh URL:

git clone git+ssh://[email protected]/~/working

Чтобы разбить его:

  • git+ssh сообщает Git, что вы хотите использовать ssh для подключения к репозиторию Git.
  • hap - это ваше имя пользователя (я предполагаю, что на основе домашнего каталога в вашем вопросе).
  • 192.168.1.2 - это машина, которую вы хотите подключить к
  • ~/working - это путь к вашему репозиторию Git на удаленном компьютере (поэтому ~ - это ваш домашний каталог)

Некоторые другие примечания:

  • Вам нужно, чтобы на компьютере был включен ssh-сервер с репозиторией Git
  • Вам нужно знать пароль для пользователя hap

Ответ 2

Я предполагаю, что на обеих машинах вы установили Git.

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

Самый простой случай - когда у вас есть sshd на компьютере, на котором вы хотите клонировать, и вы можете ssh с машины, к которой вы хотите клонировать, к машине, к которой вы хотите клонировать.

Если вы можете сделать

ssh 192.168.1.2

(или если у вас другое имя пользователя на другом компьютере, ssh [email protected]), тогда вы сможете клонировать через SSH, например Josiah wrote:

git clone git+ssh://[email protected]/~/working

Если вы хотите продолжить выборку/нажатие между машинами, вы должны настроить аутентификацию открытого ключа для SSH, чтобы не предоставлять пароль для каждой выборки.


Если у вас нет sshd, установленного на исходном компьютере, вы можете клонировать, используя "умный" HTTP-протокол, если у вас установлен веб-сервер и вы можете установить CGI-скрипты (см. git-http-backend manpage), или вы можете клонировать, используя "немой" HTTP-протокол, если у вас установлен веб-сервер, но может обслуживать только статические файлы (вам нужно будет запустить git update-server-info в исходном репозитории сначала), или вы можете клонировать, используя rsync, если вы его установили.

В качестве последнего средства вы можете использовать git bundle", чтобы создать архив, который вы можете перемещать, например, используя USB-накопитель и клон от него.

Ответ 3

Я думаю, что люди ищут этот ответ. Следующая команда терминала подключается к серверу и клонирует существующее репо. В текущем местоположении пути терминала (так cd в предпочтительном месте).

sudo git clone [email protected]:/home/path/to/repo.git

Если у вас нет IP-адреса. Используйте ping для определения ip вашего сервера. После IP-адреса не забудьте использовать a :, а затем напишите абсолютный путь.