Как может я 'клон мерзавца' от другой машины?

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

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

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

48
задан CharlesB 12 February 2013 в 21:41
поделиться

2 ответа

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

git clone git+ssh://hap@192.168.1.2/~/working

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

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

Еще кое-что, на что следует обратить внимание:

  • Вам необходимо включить ssh-сервер на машине с репозиторием Git
  • Вам нужно будет знать пароль для пользователя hap
81
ответ дан 26 November 2019 в 18:50
поделиться

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

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

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

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

ssh 192.168.1.2

(или если у вас другое имя пользователя на другой машине, ssh user@192.168.1.2), то вы должны иметь возможность клонировать через SSH, как Josiah писал:

git clone git+ssh://hap@192.168.1.2/~/working

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


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

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

2
ответ дан 26 November 2019 в 18:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: