Ответ 1
Вы можете либо извлечь из сетевого местоположения, либо скопировать весь каталог (содержащий папку .git) на другой компьютер.
Итак, у меня есть репозиторий git, который я вытащил в какой-то момент, и этот репозиторий находится на сервере. У меня нет доступа к исходному репозиторию, из которого я его вытащил. Как получить код с существующего сервера на другой компьютер?
ИЗМЕНИТЬ 1: Итак, как это выглядит:
Могу ли я просто сделать простую копию этого каталога без использования git, или я могу использовать git для клонирования, если от B до C?
Вы можете либо извлечь из сетевого местоположения, либо скопировать весь каталог (содержащий папку .git) на другой компьютер.
Это достигается путем создания клона репозитория, находящегося на компьютере COMPUTER B, путем запуска команды git clone
на COMPUTER C, где вы хотите создать клонированный репозиторий. Клонирование в git может быть выполнено с использованием нескольких протоколов, включая ssh, https, git; и для этого требуется соответствующая настройка для команды git clone
.
Самый простой способ - запустить сервер git на COMPUTER B с помощью этой команды:
> git daemon
Для получения справки по приведенной выше команде запустите git help daemon
Затем поместите файл маркера в .git-папку репозитория на COMPUTER B, чтобы предоставить разрешение на сервер git для запуска команды clone в этом репозитории. Это делается путем:
> cd <repository root>/.git
> touch git-daemon-export-ok
Теперь, с терминала на COMPUTER C, запустите следующие команды:
> cd <folder in which to create the cloned repository>
> git clone git://<ip address of COMPUTER B>/<full path of the repository on COMPUTER B>
Это создаст клонированный репозиторий на компьютере COMPUTER C.
Вы можете просто клонировать его с сервера, предполагая, что у вас есть доступ к тому, где хранится клон - мощность распространения;)
Вы можете запускать с компьютера C:
git clone [email protected]_B:path/to/root/of/repository
предполагая, что компьютер B работает на сервере ssh. В противном случае поддерживаются другие протоколы (файл://, http://,\\computer_B (NetBios),...)
Вы хотите, чтобы вы клонировали его на другой компьютер?
Как насчет:
git clone ssh://myserver/path/to/myproject.git
Если я правильно понимаю вопрос, вы просто хотите перенести историю кода с B на C. Фактически, поскольку git использует децентцентричную модель, B имеет полную историю кода до последней точки синхронизации между B и а.
Я могу думать о трех методах, если вы просто хотите передать историю кодов от B до C: