devops:git:main_info

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
devops:git:main_info [28/01/2026 15:34] – ↷ Сторінка посунуто з git:main_info на devops:git:main_info osvexdevops:git:main_info [26/05/2026 12:58] (поточний) osvex
Рядок 1: Рядок 1:
-====== Основи git ====== +====== Git: Основи ======
- +
-==== 1. Налаштування git ====+
  
 ====   ==== ====   ====
  
-^ \\ **Команда**   ^ \\ **Опис**   | +Інформація по роботі з git в рамках роботи з github, vs code та проектом. 
-| \\ git config –global user.name "Ім'я" | \\ Встановлює глобальне ім’я користувача для комітів. | + 
-\\ git config –global user.email "email@example.com" | \\ Встановлює глобальну електронну пошту для комітів. | +==== Ініціалізація проєкта (git init / clone) ==== 
-| \\ git config –list | \\ Показує всі поточні налаштування Git| + 
-| \\ git init | \\ Ініціалізує новий локальний репозиторій Git у папці. | +Якщо ви ще не розпочали роботу з новим проєктом локально, його потрібно ініціюватиДля цього виконуємо: 
-| \\ git clone [url] | \\ Клонує існуючий репозиторій з віддаленого сервера на локальний компютер. |+ 
 +<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'').
  
-==== 2. Основна робота з файлами ====+<code> 
 +git push origin main
  
-^ \\ **Команда** \\    ^ \\ **Опис** \\    | +</code>
-| \\ git status \\  | \\ Показує стан репозиторію: змінені, додані, не відстежувані файли. \\  | +
-| \\ git add [file] \\  | \\ Додає конкретний файл у staging area (підготовка до коміту). \\  | +
-| \\ git add . \\  | \\ Додає всі зміни у поточній директорії до staging area. \\  | +
-| \\ git commit -m "повідомлення" \\  | \\ Створює коміт зі змінами, що знаходяться у staging area. \\  | +
-| \\ git diff \\  | \\ Показує різницю між робочою директорією та останнім комітом. \\  | +
-| \\ git rm [file] \\  | \\ Видаляє файл з робочої директорії та з індексу Git. \\  |+
  
-==== 3. Робота з гілками (branches) ====+  *
  
-^ \\ **Команда**   ^ \\ **Опис**   | +**''git push''  **: Команда "відправити".
-| \\ git branch | \\ Показує список локальних гілок і поточну гілку. | +
-| \\ git branch [name] | \\ Створює нову гілку. | +
-| \\ git checkout [name] | \\ Переключає на іншу гілку. | +
-| \\ git switch [name] | \\ Альтернатива checkout для перемикання гілок (новіша версія Git). | +
-| \\ git checkout -b [name] | \\ Створює нову гілку і одразу на неї переключається. | +
-| \\ git merge [branch] | \\ Зливає в поточну гілку зміни з іншої гілки. | +
-| \\ git branch -d [branch] | \\ Видаляє локальну гілку. | +
-| \\ git log | \\ Показує історію комітів у поточній гілці. | +
-| \\ git log –oneline –graph –all | \\ Графічне компактне відображення історії гілок|+
  
-==== 4. Віддалені репозиторії ====+  *
  
-^ \\ **Команда**   ^ \\ **Опис**   | +**''origin''  **: //Куди//  відправляти.
-| \\ git remote -v | \\ Показує підключені віддалені репозиторії. | +
-| \\ git remote add [name] [url] | \\ Додає новий віддалений репозиторій. | +
-| \\ git push | \\ Відправляє локальні коміти на віддалений репозиторій. | +
-| \\ git push -u origin [branch] | \\ Встановлює upstream для гілки і пушить її на сервер. | +
-| \\ git pull | \\ Забирає зміни з віддаленого репозиторію і зливає їх з локальними. | +
-| \\ git fetch | \\ Завантажує зміни з віддаленого репозиторію без злиття. | +
-| \\ git pull –rebase | \\ Забирає зміни і робить rebase замість merge (чистіша історія). | +
-| \\ git push origin –delete [branch] | \\ Видаляє віддалену гілку на сервері|+
  
-==== 5. Відкат змін ====+  *
  
-^ \\ **Команда** \\    ^ \\ **Опис** \\    | +**''main''  **: //Яку//  гілку відправляти. Git може попросити твій логін і пароль (або токен) від GitHub.
-| \\ git reset [file] \\  | \\ Видаляє файл зі staging area (не видаляє зміни у файлі)\\  | +
-| \\ git reset --hard [commit] \\  | \\ Повертає весь репозиторій до конкретного коміту, видаляючи всі локальні зміни. \\  | +
-| \\ git revert [commit] \\  | \\ Створює новий коміт, який відміняє зміни конкретного коміту (безпечний для віддаленого репозиторію). \\  | +
-| \\ git checkout -- [file] \\  | \\ Відміняє незбережені зміни у файлі, повертає його до останнього коміту\\  |+
  
 +<WRAP center round info> \\ Розділ "Редагування, Коміт та Пуш (Основний цикл)" повинен для роботи в терміналі. У VS Code це можна робити за допомогою окремого розділу "Система керування версіями" \\ </WRAP>
  
  • devops/git/main_info.1769614454.txt.gz
  • Востаннє змінено: 28/01/2026 15:34
  • повз osvex