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

Создайте локальную копию удаленного хранилища git

Я не очень хорошо знаком с терминологией или практикой и процедурами контроля версий.

Вот что я хочу сделать:

  • Я хочу загрузить папку из репозитория git из Интернета. Правильно ли клонирует это? НЕ БУДЕТ клонировать, сохраняя ненужные файлы метаданных? Есть ли способ сделать "чистую" загрузку?

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

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

4b9b3361

Ответ 1

  • Клонирование - правильный путь, но будет загружать все каталоги удаленного репозитория Git.
    См. git clone из Git Ссылка.
  • Команда clone создаст репо с уже выверенным рабочим деревом, а .git, представляющим ваше полное репо
  • Вам нужно иметь как минимум общий путь, чтобы другие могли клонировать/тянуть/нажимать ваше репо.
    См. git локальный протокол.

Если вы не знакомы с этими операциями, я бы рекомендовал вам следовать простым упражнениям, предложенным git immersion.

Ответ 2

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

Если размер репозитория git беспокоит вас, вы можете git gc сделать git реорганизацию базы данных объекта, которая иногда может получить улучшения размера.

Если вы хотите иметь локальный кеш, вы можете использовать git clone --mirror $REMOTE_URL для создания клона, который

Вы можете клонировать новые рабочие репозитории из этого репозитория локального кэша и либо напрямую входить в репозиторий вверх (вам нужно git remote add upstream $REMOTE_URL в вашей рабочей копии добавить ссылку на восходящее репо, после чего вы можете git push upstream), или вы можете нажать на локальное кэширование репозиториев и нажать туда вверх по репо.

Ответ 3

В то время как git clone подходит для шагов 1 и 2, вам может потребоваться прочитать несколько из книг git, например. Progit/Community book и т.д., Чтобы получить надлежащий вкус наилучшего подхода к шагу 3 и философии git.

Git, как распределенный VCS, пытается избежать "единого центрального репозитория", который может предложить ваше "местное репо, доступное в локальной сети". У вас может быть голый репо в сети, что позволяет многим нажать/вытащить его, но это не то же самое, что локальное репо в сети, с рабочим каталогом, и только вы используете его, как если бы это было локальный привод.

Ответ 4

Да 'git clone' - путь. Это даст вам все данные и позволит совершать коммиты. Пока новое репо отображается в локальной сети, другие компьютеры также могут клонировать с него.