Сверхбыстрое простое копирование-клон между удаленными компьютерами
Из документов :
'git clone' не клонирует ветви под ссылками /пульты / иерархия или любые метаданные git svn, или config.Таким образом, репозитории, созданные и управляемые с помощью git svn, должны использовать rsync для клонирования, если клонирование вообще необходимо выполнить.
Копирование-клон на той же машине можно просто выполнить с помощьюcp -rp <src> <dst>
и с удаленного компьютера, использующего scp -rCp <src> <dst>
.
Однако удаленный регистр может быть очень очень медленным (10 минут даже в сети Ethernet) из-за большого количества крошечныхфайлы, которые он должен копировать.
Используя cpio
, вы можете избежать этих издержек, то есть (в зависимости от пропускной способности) это займет всего несколько секунд (для репозитория git-репозитория объемом 100 МБ на 50 Мбит / сs соединение).
ssh -C <user>@<host> "cd <path to parent dir of repo>; \
find <repo directory name> -depth -print | cpio -oa" | cpio -imd
Например,
ssh -C alex@myhost "cd ~alex/repos/; \
find WonderProject -depth -print | cpio -oa" | cpio -imd
приводит к новому git-репо 'WonderProject' в текущем рабочем каталоге на локальной машине.
(обратите внимание, что документация, на которую я ссылаюсь, почти отрицает существование раздела, на который ссылается @Elazar, поэтому я не дискредитирую превосходное решение @ Elazar, но ищу более краткое запоминающееся)