2013-12-10 5 views
2

Создает ли git-клон копию каждого исходного файла/версии на вашем локальном компьютере для всех ветвей?Выполняет ли git clone весь исходный код?

Или это просто копирует мастер, и все ветки - это просто ссылки? (и когда вы проверяете филиал, он загружает данные для этой ветки?)

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

Спасибо.

ответ

2

Нет, он не получает полную историю удаленного репозитория.

То, что он не получает, это конфигурация и крючки (они не клонированы, не вытащены или не сдвинуты).

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

  • Clones репозиторий во вновь созданный каталог,
  • создает удаленные отслеживания ветвей для каждой ветви в клонированной хранилище (видимый с помощью git branch -r), а
  • создает и проверяет начальную ветвь, которая разветвляется из активной ветви клонированного репозитория.
+0

Благодарим за информацию. Таким образом, создание филиалов удаленного отслеживания означает, что фактический код также находится на моем ноутбуке? Или это метаданные, и фактический код загружается, если я проверяю удаленную ветку? Извините за то, что вы медленны - есть что-то, что не совсем щелкнуло, несмотря на чтение документов, и я изо всех сил пытаюсь сформулировать это. – Aaron

+0

@ Аарон фактический код находится в вашем '.git' репо. Когда вы проверяете ветку, вы обновляете свой локальный рабочий каталог кодом из своего локального репозитория '.git'. Все локально. Вы можете полностью отключить Wi-Fi-соединение. Пока вы не отступите, все происходит локально. – VonC

+0

Хорошо, спасибо. Я думаю, это просто неинтуитивно, что весь репозиторий (по отношению к исходным файлам) существует на моей локальной машине, когда меня только интересуют 2 или 3 отделения из всей партии. – Aaron

1

Короткий ответ в том, что после того, как клон, у вас есть все файлы из главной ветви, но имеют полное хранилище локально. Это означает, что вам не нужно иметь доступ к сети для проверки другой ветки.

Смежные вопросы