Git — це система контролю версій, яка є стандартом у сучасній розробці. Якщо ви ще не використовуєте Git, цей гайд допоможе вам почати.
Встановлення та налаштування
# Ubuntu/Debian
sudo apt install git
# Перевірка версії
git --version
# Базове налаштування
git config --global user.name "Ваше Ім'я"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
Базові команди
Створення репозиторію
# Ініціалізація нового репозиторію
git init
# Клонування існуючого
git clone https://github.com/user/repo.git
Робочий процес
# Перевірка статусу
git status
# Додавання файлів до staging
git add filename.php
git add . # всі файли
# Створення коміту
git commit -m "Опис змін"
# Відправка на сервер
git push origin main
# Отримання змін з сервера
git pull origin main
Пишіть осмислені повідомлення комітів. "fix bug" — погано. "Fix product price calculation for discounted items" — добре.
— Загальноприйнята практика
Робота з гілками
Гілки дозволяють працювати над різними функціями паралельно:
# Створення нової гілки
git branch feature/new-payment
# Перехід на гілку
git checkout feature/new-payment
# Або створити і перейти одночасно
git checkout -b feature/new-payment
# Список гілок
git branch -a
# Видалення гілки
git branch -d feature/old-branch
feature/, bugfix/, hotfix/
Злиття гілок (Merge)
# Перейти на main
git checkout main
# Злити feature-гілку
git merge feature/new-payment
# Якщо є конфлікти — вирішити їх у файлах
# Потім:
git add .
git commit -m "Merge feature/new-payment"
Вирішення конфліктів
Конфлікти виникають, коли однакові рядки змінені в різних гілках:
<<<<<<< HEAD
$price = $product->getPrice();
=======
$price = $product->getDiscountedPrice();
>>>>>>> feature/discounts
Видаліть маркери та залиште потрібний код, потім закомітьте.
Корисні команди
# Історія комітів
git log --oneline
# Скасування незакомічених змін
git checkout -- filename.php
# Видалення файлу з staging
git reset HEAD filename.php
# Зміна останнього коміту
git commit --amend -m "Новий опис"
# Тимчасове збереження змін
git stash
git stash pop
.gitignore
Файл для виключення файлів з репозиторію:
# .gitignore для OpenCart
/config.php
/admin/config.php
/system/storage/
/image/catalog/
*.log
.env
/vendor/
/node_modules/
Висновок
Git — потужний інструмент, і ці базові команди покривають 90% щоденних потреб. Практикуйтесь, і скоро Git стане вашим надійним помічником у розробці.