Нічого не знайдено

Спробуйте інший пошуковий запит

Популярні запити:

Додати в кошик

Кошик

У вас поки немає покупок

Переглянути маркетплейс

Git для початківців: повний гайд

Все, що потрібно знати про Git: від базових команд до роботи з гілками та вирішення конфліктів.

10 хв читання
6,754
5
7
Git для початківців: повний гайд

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/
Важливо: Ніколи не комітьте конфіденційні дані: паролі, API ключі, конфігурації з credentials.

Висновок

Git — потужний інструмент, і ці базові команди покривають 90% щоденних потреб. Практикуйтесь, і скоро Git стане вашим надійним помічником у розробці.

DEV

DEV

Привіт! Я досвідчений розробник з OpenCart екосистеми з понад 10 роками практики. Технічний стек включає PHP (core мова для OpenCart), MySQL/MariaDB для баз даних, JavaScript/jQuery для фронтенду, HTML5/CSS3/Bootstrap для верстки. Маю глибокий досвід роботи з архітектурою OpenCart (MVC, Event System, OCMOD), інтеграцією платіжних систем та API, оптимізацією продуктивності магазинів. Окрім розробки, займаюся серверним адмініструванням — Linux (Ubuntu/Debian), Apache/Nginx, налаштування VPS/Dedicated серверів, DNS менеджмент, SSL сертифікати, email. Обслуговую понад 5000 інтернет-магазинів по всьому світу, надаючи комплексні рішення від розробки до технічної підтримки.

статей
12
переглядів
54,063
вподобань
63
підписники
3

Схожі статті

Коментарі (7)

Відповідь для

Увійдіть, щоб залишити коментар

Увійти
OCTemplates
Чи можна відновити видалену гілку?
OCTemplates
Дякую, нарешті зрозумів різницю між merge і rebase.
m
What GUI client do you use for Git?
DEV
DEV Автор
Great question! Will cover in future articles.
OCTemplates
Do you recommend Git Flow or GitHub Flow?
DEV
DEV Автор
Glad the article was helpful.
m
Як правильно вирішувати merge conflicts?

Ми використовуємо cookies

Ми використовуємо cookies та схожі технології для покращення вашого досвіду, аналізу трафіку та показу персоналізованої реклами. Детальніше — у нашій Політиці cookies.