devops:git:main_info

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
devops:git:main_info [28/01/2026 15:34] – знищено - зовнішнє редагування (Невідома дата) 127.0.0.1devops:git:main_info [26/05/2026 12:58] (поточний) osvex
Рядок 1: Рядок 1:
 +====== Git: Основи ======
 +
 +====   ====
 +
 +Інформація по роботі з git в рамках роботи з github, vs code та проектом.
 +
 +==== Ініціалізація проєкта (git init / clone) ====
 +
 +Якщо ви ще не розпочали роботу з новим проєктом локально, його потрібно ініціювати. Для цього виконуємо:
 +
 +<code>
 +git init
 +
 +</code>
 +
 +Ця команда створює локальний "репозиторій" (папку ''.git''), де Git буде відслідковувати всі твої зміни.
 +=== Підключення до віддаленого репозиторію (HTTPS) ===
 +
 +Зараз твій локальний репозиторій нічого не знає про GitHub. Тобі треба "прив'язати" його до URL.
 +
 +<code>
 +git remote add origin https://github.com/osvex/ansible
 +
 +</code>
 +
 +''git remote add'' ** - ** Команда "додати віддалений репозиторій".
 +
 +''origin'' ** -** Це просто псевдонім (стандартна назва) для твого URL. Замість того, щоб щоразу писати повний URL, ти будеш писати ''origin''.
 +
 +''[[https://.|https://.]]..'': Твоє посилання.
 +
 +=== Підключення до віддаленого репозиторію (SSH) (Рекомендовано) ===
 +
 +Щоб клонувати репозиторій виконуємо наступну команду:
 +<code>
 +
 +git clone [email protected]:USER/REPO_NAME.git dirname_project
 +
 +</code>
 +
 +Наприклад:
 +
 +<code>
 +git clone [email protected]:osvex/ansible.git ansible
 +
 +</code>
 +
 +**Важливо**: Повинен бути налаштований SSH ключ між Git та сервером/ноутом. [[:devops:git:github_sshkeys#доступ_до_репозиторію_deploy_key|Детальніше]]
 +
 +Щоб перевірити, що все спрацювало, виконай:
 +<code>
 +
 +git remote -v
 +
 +</code>
 +
 +Ти маєш побачити, що твій ''origin'' тепер вказує на правильну адресу.
 +==== Завантаження змін з git (git pull) ====
 +
 +Тепер, коли Git "знає" про ''origin'', ти хочеш завантажити звідти файли.
 +
 +Команда **''git pull'' ** робить дві речі:
 +
 +   -
 +
 +**Fetch (Завантажити):**  Запитує у ''origin''  всі зміни, яких у тебе ще немає.
 +
 +  -
 +
 +**Merge (Злити):**  Намагається "злити" ці зміни у твою поточну гілку.
 +
 +<code>
 +git pull origin main
 +
 +</code>
 +
 +  *
 +
 +**''git pull''  **: Команда "завантажити і злити".
 +
 +  *
 +
 +**''origin''  **: //Звідки//  тягнути (з нашого псевдоніма).
 +
 +  *
 +
 +**''main''  **: //Яку//  гілку тягнути. (Можливо, тобі потрібна ''dev''  або інша гілка, просто заміни ''main'').
 +
 +=== Редагування, Коміт та Пуш (Основний цикл) ===
 +
 +Це твій щоденний процес. Ти щось змінив і хочеш відправити це на GitHub.
 +
 +== Перевірка статусу ==
 +
 +**Найважливіша команда.**  Завжди починай з неї, щоб побачити, які файли ти змінив, додав або видалив.
 +
 +<code>
 +git status
 +
 +</code>
 +
 +(Ти побачиш список файлів червоним кольором — "modified" або "untracked").
 +
 +== Додавання файлів (Staging) ==
 +
 +Ти маєш сказати Git, які саме зі змінених файлів ти хочеш "запакувати" в наступне збереження (коміт).
 +
 +  *
 +
 +Щоб додати **всі**  змінені файли:
 +
 +<code>
 +git add .
 +
 +</code>
 +
 +  *
 +
 +Щоб додати тільки **один**  конкретний файл:
 +
 +<code>
 +git add playbook.yml
 +
 +</code>
 +
 +Після цього ''git status''  покаже ці файли зеленим кольором ("changes to be committed").
 +
 +=== Коміт (Збереження) ===
 +
 +Тепер ти "фотографуєш" (зберігаєш) всі "зелені" файли з коментарем. Коміт — це одиниця збереження в історії.
 +
 +<code>
 +git commit -m "Оновив плейбук, додав нове завдання"
 +
 +</code>
 +
 +  *
 +
 +**''git commit''  **: Команда "зберегти".
 +
 +  *
 +
 +**''-m "…"''  **: Прапор "message", який дозволяє одразу написати коментар. Тепер твої зміни збережені **локально**  (на твоєму комп'ютері). На GitHub їх ще немає.
 +
 +==== Пуш (Відправка на GitHub) ====
 +
 +Ти відправляєш свої локальні коміти на віддалений сервер (''origin'').
 +
 +<code>
 +git push origin main
 +
 +</code>
 +
 +  *
 +
 +**''git push''  **: Команда "відправити".
 +
 +  *
 +
 +**''origin''  **: //Куди//  відправляти.
 +
 +  *
 +
 +**''main''  **: //Яку//  гілку відправляти. Git може попросити твій логін і пароль (або токен) від GitHub.
 +
 +<WRAP center round info> \\ Розділ "Редагування, Коміт та Пуш (Основний цикл)" повинен для роботи в терміналі. У VS Code це можна робити за допомогою окремого розділу "Система керування версіями" \\ </WRAP>