Для створення Git репозиторію використовують два основних підходи. Перший приймає існуючий проект або каталог і імпортує його в Git. Другий клонує існуючий репозіторій Git з іншого сервера.
Якщо ви починаєте використовувати Git для існуючого проекту, вам треба зайти в каталог проекту та виконати:
$ git init
Це створить новий підкаталог .git
, який містить всі необхідні файли вашого репозіторія - скелет Git-репозиторія.
На даний момент, у вашому проекті ще нічого не відстежується.
(Див [_git_internals] для отримання додаткової інформації про файли, що містяться в каталозі .git
, котрий ви щойно створили.)
Якщо ви бажаєте додати існуючі файли під версійний контроль (на відміну від порожнього каталогу), ймовірно, вам слід проіндексувати ці файли і зробити перший коміт.
Ви можете це зробити за допомогою декількох команд git add
, що визначають файли, за якими ви бажаєте слідкувати, після яких треба виконати git commit
:
$ git add *.c
$ git add LICENSE
$ git commit -m 'Перша версія проекту'
Ми розповімо що саме роблять ці команди за хвильку. Наразі, у вас є Git репозиторій з декількома файлами та першим комітом.
Якщо ви бажаєте отримати копію існуючого Git репозиторію – наприклад, проекту, в якому ви хочете прийняти участь – вам потрібна команда git clone
.
Якщо ви знайомі з іншими СКВ, наприклад Subversion, ви помітите, що команда називається "clone" (клонувати), а не "checkout" (перевірити).
Це важлива відмінність – замість отримання просто робочої копії, Git отримує повну копію майже всіх даних, що є у сервера.
Кожна версія кожного файлу в історії проекту витягується автоматично, коли ви виконуєте git clone
.
Насправді, якщо щось станеться з диском вашого серверу, ви зазвичай можете використати майже будь-який з клонів на будь-якому клієнті щоб повернути сервер до стану на момент клонування (ви можете втратити деякі серверні хуки (hook), проте усі дані під контролем версій повернуться – дивіться [_git_on_the_server] задля детальнішої інформації).
Щоб клонувати репозиторій треба використати команду git clone [url]
.
Наприклад, якщо ви бажаєте зробити клон бібліотеки Git libgit2, ви можете це зробити так:
$ git clone https://github.com/libgit2/libgit2
Це створить директорію під назвою `libgit2'', проведе ініціалізацію директорії `.git
, забере всі дані для репозиторію, та приведе директорію до стану останньої версії.
Якщо ви зайдете до нової директорії libgit2
, ви побачите, що всі файли проекту на місці, готові для використання.
Якщо ви бажаєте зробити клон репозиторія в директорію з іншою назвою, ви можете задати її у наступному параметрі команди:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Ця команда робить те саме, що й попередня, тільки цільова директорія називається mylibgit
.
Git має декілька різних протоколів передачі даних, які ви можете використовувати.
Попередній приклад використовує протокол https://
, проте ви також можете побачити git://
або user@server:шлях/до/репозиторію.git
, що використовує SSH протокол.
[_git_on_the_server] познайомить вас з усіма можливими варіантами доступу до Git репозиторію, які може мати серверу, та "за" та "проти" кожного.