Ветки позволяют:
# Посмотреть все ветки
git branch
# Создать новую ветку
git branch feature/auth
# Переключиться на ветку
git checkout feature/auth
# Создать и переключиться (сокращённо)
git checkout -b feature/auth
# Новый синтаксис (Git 2.23+)
git switch feature/auth
git switch -c feature/new-branch# Локальные ветки
git branch
# Все ветки (включая remote)
git branch -a
# Ветки с последним коммитом
git branch -v# Удалить слитую ветку
git branch -d feature/auth
# Принудительное удаление (не слита)
git branch -D feature/auth
# Удалить remote ветку
git push origin --delete feature/authmain (production)
└── develop (development)
├── feature/auth
├── feature/dashboard
└── feature/api1. Создать ветку от develop: git checkout -b feature/auth develop
2. Разработка и коммиты
3. Push в remote: git push -u origin feature/auth
4. Pull Request → Code Review
5. Merge в develop
6. Удалить ветку
Когда в main не было новых коммитов:
git checkout main
git merge feature/auth
# Fast-forward — просто передвигает указательКогда в обеих ветках есть новые коммиты:
git checkout main
git merge feature/auth
# Создаётся merge commitКогда Git не может автоматически слить изменения:
git merge feature/auth
# CONFLICT (content): Merge conflict in index.js// В файле появятся маркеры:
<<<<<<< HEAD
console.log("версия из main")
=======
console.log("версия из feature/auth")
>>>>>>> feature/auth
// Нужно вручную выбрать или объединить:
console.log("финальная версия")# После разрешения
git add index.js
git commit -m "resolve merge conflict"main: A---B---C---M
\ /
feature: D---Egit checkout feature/auth
git rebase main
# Переносит коммиты feature поверх mainmain: A---B---C
\
feature: D'---E'Золотое правило: Никогда не делайте rebase публичных веток!
feature/user-auth # Новая функциональность
bugfix/login-error # Исправление бага
hotfix/security-patch # Срочное исправление в production
release/1.0.0 # Подготовка релизаТипичный workflow с feature-веткой
# Стартуем от main
git switch main
git pull
# Создаём ветку под задачу
git switch -c feature/auth-form
# Работаем и коммитим
git add .
git commit -m "feat: add auth form validation"
# Публикуем ветку и открываем PR
git push -u origin feature/auth-formMerge с последующей очисткой ветки
# После одобрения PR — локальный merge
git switch main
git pull
git merge feature/auth-form
# Удаляем локальную и удалённую ветку
git branch -d feature/auth-form
git push origin --delete feature/auth-formВетки позволяют:
# Посмотреть все ветки
git branch
# Создать новую ветку
git branch feature/auth
# Переключиться на ветку
git checkout feature/auth
# Создать и переключиться (сокращённо)
git checkout -b feature/auth
# Новый синтаксис (Git 2.23+)
git switch feature/auth
git switch -c feature/new-branch# Локальные ветки
git branch
# Все ветки (включая remote)
git branch -a
# Ветки с последним коммитом
git branch -v# Удалить слитую ветку
git branch -d feature/auth
# Принудительное удаление (не слита)
git branch -D feature/auth
# Удалить remote ветку
git push origin --delete feature/authmain (production)
└── develop (development)
├── feature/auth
├── feature/dashboard
└── feature/api1. Создать ветку от develop: git checkout -b feature/auth develop
2. Разработка и коммиты
3. Push в remote: git push -u origin feature/auth
4. Pull Request → Code Review
5. Merge в develop
6. Удалить ветку
Когда в main не было новых коммитов:
git checkout main
git merge feature/auth
# Fast-forward — просто передвигает указательКогда в обеих ветках есть новые коммиты:
git checkout main
git merge feature/auth
# Создаётся merge commitКогда Git не может автоматически слить изменения:
git merge feature/auth
# CONFLICT (content): Merge conflict in index.js// В файле появятся маркеры:
<<<<<<< HEAD
console.log("версия из main")
=======
console.log("версия из feature/auth")
>>>>>>> feature/auth
// Нужно вручную выбрать или объединить:
console.log("финальная версия")# После разрешения
git add index.js
git commit -m "resolve merge conflict"main: A---B---C---M
\ /
feature: D---Egit checkout feature/auth
git rebase main
# Переносит коммиты feature поверх mainmain: A---B---C
\
feature: D'---E'Золотое правило: Никогда не делайте rebase публичных веток!
feature/user-auth # Новая функциональность
bugfix/login-error # Исправление бага
hotfix/security-patch # Срочное исправление в production
release/1.0.0 # Подготовка релизаТипичный workflow с feature-веткой
# Стартуем от main
git switch main
git pull
# Создаём ветку под задачу
git switch -c feature/auth-form
# Работаем и коммитим
git add .
git commit -m "feat: add auth form validation"
# Публикуем ветку и открываем PR
git push -u origin feature/auth-formMerge с последующей очисткой ветки
# После одобрения PR — локальный merge
git switch main
git pull
git merge feature/auth-form
# Удаляем локальную и удалённую ветку
git branch -d feature/auth-form
git push origin --delete feature/auth-formИзучи материал выше и задай вопросы AI если что-то непонятно
Этот урок содержит теоретическую информацию. Изучи материал, затем отметь урок как пройденный.