====== Основи git ====== ==== 1. Налаштування git ==== ==== ==== ^ \\ **Команда** ^ \\ **Опис** | | \\ git config –global user.name "Ім'я" | \\ Встановлює глобальне ім’я користувача для комітів. | | \\ git config –global user.email "email@example.com" | \\ Встановлює глобальну електронну пошту для комітів. | | \\ git config –list | \\ Показує всі поточні налаштування Git. | | \\ git init | \\ Ініціалізує новий локальний репозиторій Git у папці. | | \\ git clone [url] | \\ Клонує існуючий репозиторій з віддаленого сервера на локальний комп’ютер. | ==== 2. Основна робота з файлами ==== ^ \\ **Команда** \\ ^ \\ **Опис** \\ | | \\ 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 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. Віддалені репозиторії ==== ^ \\ **Команда** ^ \\ **Опис** | | \\ 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. Відкат змін ==== ^ \\ **Команда** \\ ^ \\ **Опис** \\ | | \\ git reset [file] \\ | \\ Видаляє файл зі staging area (не видаляє зміни у файлі). \\ | | \\ git reset --hard [commit] \\ | \\ Повертає весь репозиторій до конкретного коміту, видаляючи всі локальні зміни. \\ | | \\ git revert [commit] \\ | \\ Створює новий коміт, який відміняє зміни конкретного коміту (безпечний для віддаленого репозиторію). \\ | | \\ git checkout -- [file] \\ | \\ Відміняє незбережені зміни у файлі, повертає його до останнього коміту. \\ |