Команди Git

git clone

git clone: клонувати віддалений репозиторій у нову директорію.

Команда git clone створює локальну копію віддаленого репозиторію Git. Вона створює нову директорію, ініціалізує в ній Git-репозиторій і копіює туди весь вміст віддаленого репозиторію-джерела. Ця команда також налаштовує віддалено-відстежувані гілки для кожної гілки клонованого репозиторію, а ще створює й активує початкову гілку на основі поточної активної гілки віддаленого репозиторію.

Коли ти клонуєш репозиторій, Git автоматично встановлює зв'язок з оригінальним віддаленим репозиторієм, тому локальну копію легко синхронізувати з будь-якими оновленнями на віддаленому боці. Зазвичай це з'єднання має назву origin.

git clone незамінний, коли хочеться долучитися до наявного віддаленого проєкту, попрацювати з іншими людьми на GitHub, GitLab чи іншому Git-хостингу або просто створити локальну резервну копію віддаленого репозиторію. Після клонування в тебе є повний доступ до всієї історії проєкту та всіх його гілок, тож можна працювати незалежно, не впливаючи на віддалений репозиторій, доки не вирішиш відправити свої зміни.

Хоча git clone здебільшого використовують для віддалених репозиторіїв, технічно ця команда вміє клонувати й локальні. Наприклад:

git clone /path/to/local/repository new-copy

Утім, на практиці таке потрібно рідко. Якщо треба просто зробити копію локального репозиторію, зазвичай простіше створити новий репозиторій і скопіювати файли або скористатися інструментами на кшталт git worktree, якщо потрібно працювати в кількох директоріях одного репозиторію.

Приклади

Клонувати репозиторій з GitHub на свій комп'ютер:

git clone https://github.com/username/repository.git

Клонувати репозиторій у конкретну директорію:

git clone https://github.com/username/repository.git my-project

Клонувати репозиторій з конкретною гілкою та без повної історії — так званий поверхневий клон (shallow clone):

git clone --branch develop --depth 1 https://github.com/username/repository.git

Клонувати репозиторій з усіма підмодулями:

git clone --recursive https://github.com/username/repository.git