Подтвердить что ты не робот

Git репозиторий от одной машины к другой

Итак, у меня есть репозиторий git, который я вытащил в какой-то момент, и этот репозиторий находится на сервере. У меня нет доступа к исходному репозиторию, из которого я его вытащил. Как получить код с существующего сервера на другой компьютер?

ИЗМЕНИТЬ 1: Итак, как это выглядит:

  • КОМПЬЮТЕР A: репозиторий git, из которого я изначально был извлечен. У меня больше нет доступа к этому.
  • КОМПЬЮТЕР B: Общий сервер, на котором я проверил код.
  • КОМПЬЮТЕР C: Локальный ноутбук.

Могу ли я просто сделать простую копию этого каталога без использования git, или я могу использовать git для клонирования, если от B до C?

4b9b3361

Ответ 1

Вы можете либо извлечь из сетевого местоположения, либо скопировать весь каталог (содержащий папку .git) на другой компьютер.

Ответ 2

Это достигается путем создания клона репозитория, находящегося на компьютере 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.

Ответ 3

Вы можете просто клонировать его с сервера, предполагая, что у вас есть доступ к тому, где хранится клон - мощность распространения;)

Ответ 4

Вы можете запускать с компьютера C:

git clone [email protected]_B:path/to/root/of/repository

предполагая, что компьютер B работает на сервере ssh. В противном случае поддерживаются другие протоколы (файл://, http://,\\computer_B (NetBios),...)

Ответ 5

Вы хотите, чтобы вы клонировали его на другой компьютер?

Как насчет:

git clone ssh://myserver/path/to/myproject.git 

Ответ 6

Если я правильно понимаю вопрос, вы просто хотите перенести историю кода с B на C. Фактически, поскольку git использует децентцентричную модель, B имеет полную историю кода до последней точки синхронизации между B и а.

Я могу думать о трех методах, если вы просто хотите передать историю кодов от B до C:

  • direct copy/rsync/etc. просто скопируйте все файлы и структуры в \B-machine\code.git в\C
  • git clone: ​​это лучший выбор, если C может получить доступ к B через http или ssh
  • git bundle: git поддерживает команду bundle, и после пакета вы копируете файл /rsync/ftp/scp bundle в C