Skip to content

Latest commit

 

History

History
executable file
·
87 lines (66 loc) · 6.46 KB

getting-a-repository.asc

File metadata and controls

executable file
·
87 lines (66 loc) · 6.46 KB

Створення Git-сховища

Зазвичай Git репозиторій отримують одним з двох способів:

  1. Ви можете взяти локальну директорію, що наразі не під контролем версій, та перетворити її на сховище Git, або

  2. Ви можете клонувати існуючий Git репозиторій.

У будь-якому разі ви отримаєте на локальній машині готове до роботи Git сховище.

Ініціалізація репозиторія в існуючому каталозі

Якщо у вас вже є тека з проєктом, що наразі не перебуває під контролем версії, і ви бажаєте почати використовувати з цим проєктом Git, спочатку необхідно перейти до теки цього проєкту. Якщо ви ще ніколи цього не робили, команда може трохи відрізнятися в залежності від вашої системи:

для Linux:

$ cd /home/user/my_project

для macOS:

$ cd /Users/user/my_project

для Windows:

$ cd C:/Users/user/my_project

та виконати:

$ git init

Це створить новий підкаталог .git, який містить всі необхідні файли вашого репозиторія — основу Git-репозиторія. Поки у вашому проєкті ще нічого не відстежується. Див ch10-git-internals.asc для отримання додаткової інформації про файли, що містяться в каталозі .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), проте усі дані під контролем версій повернуться – дивіться ch04-git-on-the-server.asc задля детальнішої інформації).

Щоб клонувати репозиторій треба використати команду 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 протокол. ch04-git-on-the-server.asc познайомить вас з усіма можливими варіантами доступу до Git репозиторія, які може мати сервер, та "за" та "проти" кожного.