- iki dilli tek dosyalar en/ ve tr/ altına ayrıldı - Almanca, Fransızca, Rusça çeviriler eklendi (10 bölüm) - kök README dil seçici oldu; her dilde kendi içindekiler sayfası - her bölüme dil değiştirici satırı + önceki/sonraki gezinme eklendi
59 lines
3.3 KiB
Markdown
59 lines
3.3 KiB
Markdown
# 09 — Ветки и пул-реквесты
|
|
|
|
🌍 [English](../../en/09-branches-and-pull-requests/readme.md) · [Türkçe](../../tr/09-branches-and-pull-requests/readme.md) · [Deutsch](../../de/09-branches-and-pull-requests/readme.md) · [Français](../../fr/09-branches-and-pull-requests/readme.md) · **Русский**
|
|
|
|
Ветка — это безопасная копия проекта, где можно работать, не трогая `main`. Пул-реквест — это просьба вернуть проделанную работу обратно.
|
|
|
|
## Когда нужна ветка
|
|
|
|
- Изменение достаточно большое, чтобы недоделанная работа что-то сломала.
|
|
- Кто-то должен посмотреть на него до выхода «в прод».
|
|
- Вы хотите попробовать идею и иметь возможность её выбросить.
|
|
|
|
Ради опечатки в документе можно спокойно коммитить прямо в `main`.
|
|
|
|
## Создание ветки в браузере
|
|
|
|
При коммите (глава 03) выберите **Создать новую ветку для этого коммита и открыть пул-реквест**, задайте имя ветки и закоммитьте. Хорошие имена описывают работу:
|
|
|
|
```
|
|
docs/vlan-notes
|
|
fix/wrong-gateway
|
|
feature/report-export
|
|
```
|
|
|
|
## Открытие пул-реквеста
|
|
|
|
1. Перейдите в **Пул-реквесты → Новый пул-реквест**.
|
|
2. Выберите исходную ветку (вашу) и целевую (`main`).
|
|
3. Заголовок = что делает изменение. Описание = зачем, плюс всё, что стоит проверить рецензентам.
|
|
4. Нажмите **Создать пул-реквест**.
|
|
|
|
## Ревью
|
|
|
|
- Рецензенты комментируют отдельные строки на вкладке **Изменённые файлы**.
|
|
- Отправляйте новые коммиты в ту же ветку — пул-реквест обновится сам.
|
|
- После одобрения нажмите **Слить пул-реквест**, затем удалите ветку.
|
|
|
|
## Конфликты слияния
|
|
|
|
Если в `main` изменили те же строки, что и вы, KabaForge попросит разрешить конфликт. Со своего компьютера:
|
|
|
|
```bash
|
|
git switch my-branch
|
|
git fetch origin
|
|
git merge origin/main
|
|
# откройте помеченные файлы, оставьте правильные строки
|
|
git add .
|
|
git commit
|
|
git push
|
|
```
|
|
|
|
## Защита `main`
|
|
|
|
**Настройки → Ветки → Добавить правило**: требовать пул-реквест и одобрения до того, как что-либо попадёт в `main`. Рекомендуется, как только в репозитории работает больше одного человека.
|
|
|
|
---
|
|
|
|
⬅ [Назад: 08 — Коммиты и история](../08-commits-and-history/readme.md) · 📚 [Содержание](../README.md) · [Далее: 10 — Работа со своего компьютера](../10-clone-and-tokens/readme.md) ➡
|