Другой распространенный способ начала работы с Git — это клонирование существующего репозитория. При клонировании Вы получаете последнюю версию всех файлов и папок репозитория, плюс всю его историю. Таким образом, каждый клон — это полноценный Git-репозиторий.
Git позволяет клонировать как локальные, так и удаленные репозитории, с помощью команды git clone
. Базовый синтаксис этой команды довольно прост: Вы указываете путь к репозиторию, а также, если необходимо, наименование папки, в которую будет помещен его клон.
Вы можете клонировать репозитории на своей рабочей машине. Например, клонируем созданный нами ранее репозиторий my_first_repo
:
cd ..
git clone my_first_repo/ my_first_clone
Вы должны получить следующее сообщение:
Cloning into my_first_clone...
done.
warning: You appear to have cloned an empty repository.
Предупреждение говорит Вам о том, что Вы еще не внесли ни одного изменения в клонируемый репозиторий. Другими словами, Вы только что клонировали пустой репозиторий.
По умолчанию Git не будет копировать объекты при локальном клонировании репозитория.
Вместо этого он создаст жёсткие ссылки (hard links) в целях экономии места. Если Вы хотите сделать полноценную копию репозитория (например, в целях резервного копирования), используйте параметр --no-hardlinks
:
git clone --no-hardlinks /path/to/repo destination_directory
Для ведения совместной разработки как правило используют удалённое клонирование: разработчики получают локальные копии центрального репозитория, работают с ними и периодически синхронизируют свои изменения с центральным репозиторием.
Для примера создайте клон тренировочного репозитория (этот репозиторий специально подготовлен для занятий этого курса и размещен на GitHub):
cd ..
git clone git://github.com/inca/gitbook-sample
В результате выполнения получаем примерно следующее:
Cloning into gitbook-sample...
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 18 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (18/18), done.
Создание репозитория | Хранение объектов |