Git
Chapters ▾ 2nd Edition

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

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

Створення 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-репозиторія. Поки у вашому проєкті ще нічого не відстежується. Див Git зсередини для отримання додаткової інформації про файли, що містяться в каталозі .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 на сервері задля детальнішої інформації).

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

scroll-to-top